为什么有人说是这样的?

来源:百度知道 编辑:UC知道 时间:2024/05/17 14:03:54
有人说“在一个文件中写入二进制数据0x310x320x33,那么你如果用文本编辑器打开,你会看到内容为123”,为什么?
谁能说得明白点?二进制文件是怎么编码的?二进制文件与文本文件的本质区别是什么?
我按二楼的输入到1.dat文件中0x310x320x33,为什么按文本方式打开会显示的还是0x310x320x33?(怎么把0x310x320x33输入到1.dat文件中,直接在桌面上建一个dat文件可以吗?)

123的ASCII码分别对应0x31,0x32,0x33,所以你向文件写入这几个数据时,与直接写入123是一样的效果.

二进制文件与文本文件没有本质区别.仅通过扩展名称来区别.比如说你把刚才的0x31,0x32,0x33这几个数写入到文件1.dat中,我们也许就叫这个文件为二进制文件,如果我们把1.dat改为1.txt,它就叫文本文件了.

0x310x320x33是机器看到的ASCII码,你向机器输入信息的时候可以是人的高级语言,也可以是机器码==例如0x310x320x33,可是电脑输出的时候返回的应该是转换为你认识的例如数字123

0x31,0x32,0x33是一个宏的定义.分别为
#define 1 0x31
#define 2 0x32
#define 3 0x33

你看到"123"就是0x31 0x32 0x33啊,有什么奇怪的
-----------------------------------------------------------------------
问题补充:我按二楼的输入到1.dat文件中0x310x320x33,为什么按文本方式打开会显示的还是0x310x320x33?(怎么把0x310x320x33输入到1.dat文件中,直接在桌面上建一个dat文件可以吗?)
------------------------------------------------------------
不知道楼主怎么输入二进制的,可以用Ultra-edit的16进制模式输入看看

要是用写字本打开1.dat,然后输入"0x310x320x33",你其实输入的就是字符串"0x310x320x33",根本就不是二进制数据