From: http://blog.csdn.net/seu_xuxueqi/archive/2006/03/11/621904.aspx
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。
ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:
ASC码: 00110101 00110110 00110111 00111000
↓ ↓ ↓ ↓
十进制码: 5 6 7 8 共占用4个字节。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。
二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示, 但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。 输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。
一个文件可以以文本模式或二进制模式打开,这两种的区别是:在文本模式中回车被当成一个字符'\n',而二进制模式认为它是两个字符0x0D,0x0A;如果在文件中读到0x1B,文本模式会认为这是文件结束符,也就是二进制模型不会对文件进行处理,而文本方式会按一定的方式对数据作相应的转换。
在使用c函数进行文件的处理时,都把文件看作二进制文件来处理,能减少不少不必要的麻烦·!
http://www.cnblogs.com/perhaps/archive/2004/09/20/45009.html
二进制文件,这个再基础不过的名词,正因为它的无处不在,或许没有人会关注它背后隐含的内容。其实我也一样,在写下这些文字之前,我也是认为二进制文件就像空气一样,平常得让人完全忽略了。
很偶然的,今天在写代码的时候使用了fopen函数:
FILE * fopen (const char * filename, const char * mode)
大家可以看到第二个参数是mode,而这个参数定义了文件打开的方式,w、a等都可以做为函数的实参。除此之外,还有两个值:t和b。这两个值定义了文件是按照文本(text)还是二进制(binary)方式开发。正是这个两个值引起了我对二进制文件的兴趣,因为它们让我想到了很多问题。
首先,出现在脑海的第一个问题是:文本文件和二进制文件有什么区别呢?我想这个问题并不是每个程序员能够马上回答上来的,至少我是不行了。查阅了资料之后,发现答案就在自己的知识范围之内的:将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。这就是两者的区别;
接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII码,而以按照二进制方式打开的话,则不会进行任何的translate;
最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bit),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。
分享到:
相关推荐
文本文件和二进制文件读写区别,C语言
然后再将二进制文件还原并存入a3.txt文件。 具体代码如下: #include #include #include #define NSIZE 8 void print_2(int val2); /***********文本文件转二进制**********/ void Text2Bin(const char* sIn,...
文本文件转换二进制文件
二进制文件srcfile 转换成文本文件 targetfile,16进制显示。 二进制文件srcfile 转换文本文件 targetfile,16进制显示。 二进制文件转换文本文件 targetfile,16进制显示。 二进制文件转换文本文件,16进制显示...
读取文件中的二进制文件并将二进制转换成文本文档并输出
一个很有用的工具,可以将二进制文件转换为文本文件
十六进制的文本文件,转为十六进制格式的二进制文件。 从第一个有效字符开始,每2个有效字符(即0~F)输出一个格式化字节,"0x"、"\r\n"、空格等字符会被跳过。
1:本程序读取二进制文件,并把读到的二进制文件保存为文本数据 2:二进制文件内容一系列的三维点云数据,由扫描仪器扫描获得 3:本程序采用了多线程技术,读取二进制文件时,界面不会卡顿 4:实例二进制文件为data....
依次读出文件中的字节,如果存在'/0'则是二进制文件, 否则为ASCII文本文件
该函数实现文本文件和二进制文件读写的功能,可以读取二进制文件画波形。
在论坛想上传文件,不行! 直接粘贴文件内容,不行!可能它是二进制文件。 怎么办,用“二进制文件、文本文件转换工具” C#应用示例,含源码。
文本文件与二进制文件的详细解释 有需要的朋友可以下载。
将内容为十六进制的文本文件转换成二进制内容的bin文件
说明:一款使用Python编写的文本编辑器 支持编辑文本文件、二进制文件、改变字体大小。支持ansi、gbk和utf-8编码。编辑二进制文件时 文件内容以转义序列形式显示。编辑python代码文件时 也支持代码高亮显示 类似IDLE...
把纯文本文件转化成二进制文件存储到一个.c文件里 .c文件的数组里是二进制的内容
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。 ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为...二进制文件是按二进制
我看了很多,只有这个一针见血,读后感就觉很清晰,不会更加迷惑
大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。
STL文件有文本(asc)和二进制(bin)两种格式。本程序提供了从文本到二进制格式的转换。
总结介绍了二进制文件与文本文件的区别于联系。