方法/步骤
1、使用UltraEdit编辑器打开一篇文本文件,注意16进制的字符只包括0-9和A-F,这些字符以外的内容在转换到16进制模式后是无法正常显示的。
2、点击菜单中的切换16进制模式,进入16进制的编辑模式。
3、在16进制的编辑模式中,左侧是行数,中间部分是转换后的16进制代码,右侧的是原始的文本内容。
4、如果想查看某个字符的16进制代码,可以点击右侧的原始字符位置,相应的在中间部分就能看到转换以后的16进制数值了,比如点击的5对应的是35。
5、再来复制出转换后的16进制内容。需要先全选当前内容。
6、点击菜单中的编辑-十六进制功能-十六进制复制选定视图,将转换后的16进制内容单独复制出来。
7、点击菜单中的新建文件按钮来建立一个新文件。
8、在新文件中选择粘贴,把刚才复制的16进制内容粘贴到新文件中。
9、再点击进入列模式,在列模式中就可以方便的把中间的16进制部分内容单独复制出来了。
10、可以再新建一个记事本保存复制出的16进制内容。
很容易呀使用Open "文件" For Binary As #1方式来打开文件,然后读取每字节,并转换为16进制显示到文框内就行了
做好每行显示的宽度,以及相对应的地址显示#include<stdioh>
#include<stdlibh>
void main(int argc,char argv[])
{
FILE fp;
char ch;//不能用unsigned char,如果是汉字等 ch就可能是负数
unsigned int count=0,checksum=0,chr=0;
unsigned long int sum=0;
if((fp=fopen("E:\\1txt","rb"))==NULL) //直接读二进制文件,否则回车等控制符会出错你可以测试一下
{
printf("\n\n File can't be opened");
exit(1);
}
printf("\n\nthe type of output:data---sum\n\n");
while(fread(&ch,sizeof(char),1,fp)!=0)
{
count++;
printf("%2X ",(ch+256)%256);//x的大小写决定十六进制的大小写即ABCDEF
if(count>=12)
{
printf("\n");
count=0;
}
}
}文件字符集Windows两种种ANSI种Unicode 于UnicodeWindows支持三种编码式种尾编码(Unicode)种尾编码(BigEndianUnicode)种UTF-8编码 我文件部区文件属于哪种编码有些编辑器(例如 untra editor, 可下载) 可以用16进制
但若要读懂class文件的结构, 就需要去读 Java Virtual Machine Specification
这是免费的, 很容易搜
另外, jdk的安装目录中的bin中有个 javapexe 可以帮你解出 class文件的内容
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)