一个关于二进制的问题!
近日看到一个软件,可以打开.bin文件,在Memo中显示。比如,一个二进制文件ABC.Bin,用UltraEdit等二进制编辑工具打开大概是这样的:
75 81 30 75 89 21 75 8C 00 75 8A 00 75 B8 02 75
8D FD 75 8B FD 75 98 50 D2 8E C2 8C D2 AF D2 AC
D2 9C D2 14 C2 B2 20 14 FD E5 58 F5 60 12 01 32
80 CE 00 D2 B2 7F FF DF FE C2 AB C2 AC D2 8E C2
99 85 60 99 30 99 FD C2 99 C2 B2 D2 9C D2 AF D2
AC 22 30 99 02 21 76 00 C0 E0 C0 D0 75 8C 00 75
8A 00 D2 8C D2 A9 C2 98 85 99 58 30 98 FD C2 98
用那个软件打开,也是这样子的。这个软件有一个是否显示为hex格式的CheckBox,如果去掉这一项的选择,Memo中的内容就会变成这样:
u?u嶟u孆u楶規聦爷椰覝?虏 X鮜2€?也唼芦卢規聶卄?欭聶虏覝爷椰"0?!v 类佬u?u?覍药聵厵X0橗聵行朽?聶2 覙2
因为我最近也要做一个类似的工具(对二进制文件进行读写),又不知道这个是怎么
做到的。请各位指教!!多谢!
我说的那个工具下载地址:http://www.mcu51.com/download/sscom.rar
问题点数:50、回复次数:7Top
1 楼amazon001(heroIII)回复于 2003-09-04 13:33:24 得分 25
我想,读写二进制应该没什么问题,你的问题应该是指显示成非hex模式时的问题,其实应该就是把二进制的数据当作字符串显示就可以了。上面的乱码是由于中文系统,中文字符是双字节,英文是单字节,应该是系统自动识别的,否则要自己识别划分。涉及ascii码和汉字编码的问题了。
更深入的我也不是很清楚了,供您参考。Top
2 楼lovingbcb(我爱BCB)回复于 2003-09-04 13:44:17 得分 0
那么您的意思就是说实际上计算机把二进制用类似
75 81 30 75 89 21 75 8C 00 75 8A 00 75 B8 02 75
8D FD 75 8B FD 75 98 50 D2 8E C2 8C D2 AF D2 AC
的形式显示出来给我们看,是这样吗?
我的意思是想要一种方法,可以实时改变这种显示的方式。Top
3 楼crysword(伤心剑)回复于 2003-09-04 14:19:13 得分 0
有些看不懂,呵呵,楼上的想要显示成为什么形式哪?Top
4 楼lovingbcb(我爱BCB)回复于 2003-09-04 16:52:07 得分 0
就是一种可以让Memo中的内容在
75 81 30 75 89 21 75 8C 00 75 8A 00 75 B8 02 75
8D FD 75 8B FD 75 98 50 D2 8E C2 8C D2 AF D2 AC
D2 9C D2 14 C2 B2 20 14 FD E5 58 F5 60 12 01 32
80 CE 00 D2 B2 7F FF DF FE C2 AB C2 AC D2 8E C2
99 85 60 99 30 99 FD C2 99 C2 B2 D2 9C D2 AF D2
AC 22 30 99 02 21 76 00 C0 E0 C0 D0 75 8C 00 75
8A 00 D2 8C D2 A9 C2 98 85 99 58 30 98 FD C2 98
和
u?u嶟u孆u楶規聦爷椰覝?虏 X鮜2€?也唼芦卢規聶卄?欭聶虏覝爷椰"0?!v 类佬u?u?覍药聵厵X0橗聵行朽?聶2 覙2
之间切换的方法。Top
5 楼lovingbcb(我爱BCB)回复于 2003-09-04 19:33:38 得分 0
UPTop
6 楼lovingbcb(我爱BCB)回复于 2003-09-04 22:36:24 得分 0
UPTop
7 楼CCLIS(www.cclis.com)回复于 2003-09-05 02:57:44 得分 25
将要文件读取的文件内容读取到内容中,之后进行处理
显示HEX码的格式:
将文件内容的每一个字节转换出它的HEX码,做到每八个或十六个一行,输出到MEMO中
显示乱码的格式:
直接将文件内容输出到MEMO中即可。
Top




