一般问题 二进制文件与我们通常使用的文本文件储存方式有根本的不同
这样的不同很难用言语表达,自己亲自看一看,理解起来会容易得多
因此,我推荐学习二进制文件读写的朋友安装一款十六进制编辑器
这样的编辑器有很多,在我们的 CVF 附带的集成开发环境下就可以(将二进制文件拖动到 IDE 窗口后松开)
Visual Studio 2005 也是可以的
(不过需要在 File 菜单下 Open,File) 另外推荐一款使用较多的软件,叫做 UltraEdit(以下简称 UE)
是很不错的文本编辑器,也能做十六进制编辑器使用
为什么要用十六进制编辑器
而不用 2 进制呢
因为 2 进制实在太小,书写起来会很长,很不直观
而我们的计算机把 8 位作为一个字节
刚好 2 ** 8 = 256 = 16 ** 2
用 8 位 2 进制表达的数,我们用 2 个十六进制数据来表达,更直观和方便
文件格式 所有文件,笼统意义上将可以区分为两类,一类是文本文件,一类是二进制文件
文本文件 文本文件用记事本等文本编辑器打开,我们可以看懂上面的信息
所以使用比较广泛
通常一个文本文件分为很多很多行,作为数据储存时,还有列的概念
实际上,储存在硬盘或其他介质上,文件内容是线一样储存的,列是用空格或 Tab 间隔,行是用回车和换行符间隔
以 ANSI 编码(使用较多)的文本文件来说,例如我们储存如下信息: 引用: 10 11 12 需要的空间是:3 行 × 每行 2 个字符 + 2 个回车符 + 2 个换行符 = 10 字节
文本文件储存数据是有格式,无数据类型的
比如 10 这个数据,并不指定是整型还是实型还是字符串
它有长度,就是 2,两个字节
储存时计算机储存它的 ASCII 码:31h,30h
(十六进制表示)
回车符是:0Dh,换行符:0Ah
因此,这个数据储存是这样的