admin管理员组

文章数量:1590507

2024年3月10日发(作者:)

一).一般问题

二进制文件与我们通常使用的文本文件储存方式有根本的不同。这样的不同很难用言

语表达,自己亲自看一看,理解起来会容易得多。因此,我推荐学习二进制文件读写的朋

友安装一款十六进制编辑器。这样的编辑器有很多,在我们的 CVF 附带的集成开发环境下

就可以(将二进制文件拖动到 IDE 窗口后松开)。Visual Studio 2005 也是可以的。(不过

需要在 File 菜单下 Open,File)

另外推荐一款使用较多的软件,叫做 UltraEdit(以下简称 UE)。是很不错的文本编辑

器,也能做十六进制编辑器使用。

为什么要用十六进制编辑器?而不用 2 进制呢?因为 2 进制实在太小,书写起来会很

长,很不直观。而我们的计算机把 8 位作为一个字节。刚好 2 ** 8 = 256 = 16 ** 2。

用 8 位 2 进制表达的数,我们用 2 个十六进制数据来表达,更直观和方便。

二).文件格式

所有文件,笼统意义上将可以区分为两类,一类是文本文件,一类是二进制文件。

1).文本文件

文本文件用记事本等文本编辑器打开,我们可以看懂上面的信息。所以使用比较广泛。

通常一个文本文件分为很多很多行,作为数据储存时,还有列的概念。实际上,储存在硬

盘或其他介质上,文件内容是线一样储存的,列是用空格或 Tab 间隔,行是用回车和换行

符间隔。

以 ANSI 编码(使用较多)的文本文件来说,例如我们储存如下信息:

引用:

10

11

12

需要的空间是:3 行 × 每行 2 个字符 + 2 个回车符 + 2 个换行符 = 10 字节。文本文

件储存数据是有格式,无数据类型的。比如 10 这个数据,并不指定是整型还是实型还是

字符串。它有长度,就是 2,两个字节。储存时计算机储存它的 ASCII 码:31h,30h。(十

六进制表示)。回车符是:0Dh,换行符:0Ah。

因此,这个数据储存是这样的:

引用:

31 30 0D 0A 31 31 0D 0A 31 32

(红色为回车符和换行符) 31h 30h 就是 10,31h 31h 就是 11,31h 32h 就是 12。

因此我们也可以认为文本文件是特殊的二进制文件。

2).二进制文件

本文标签: 储存文件二进制文本文件使用