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语言中的处理方法。 首先,文本文件是以人类可读的形式存储数据的,通常...
文本文件和二进制文件是计算机存储中的两种基本文件类型,它们的区别在于逻辑上的编码方式不同。文本文件适合存储文本数据,二进制文件适合存储多媒体数据。在实际应用中,需要根据具体情况选择合适的文件类型和编码...
在计算机科学领域,数据通常以两种主要形式存储:文本文件和二进制文件。文本文件以人类可读的字符编码(如ASCII或Unicode)存储数据,而二进制文件则包含机器可理解的一系列比特(0和1)序列。本文将深入探讨文本...
然后再将二进制文件还原并存入a3.txt文件。 具体代码如下: #include #include #include #define NSIZE 8 void print_2(int val2); /***********文本文件转二进制**********/ void Text2Bin(const char* sIn,...
在Java编程语言中,将二进制文件转换为文本文档通常涉及到字符编码的理解和处理。二进制文件可以包含任何类型的数据,如图像、音频、视频或纯文本,但以非可读格式存储。而文本文档通常使用特定的字符编码(如ASCII...
二进制文件srcfile 转换成文本文件 targetfile,16进制显示。 二进制文件srcfile 转换文本文件 targetfile,16进制显示。 二进制文件转换文本文件 targetfile,16进制显示。 二进制文件转换文本文件,16进制显示...
在计算机领域,文件可以分为两种主要类型:文本文件和二进制文件。了解如何区分这两种文件类型对于数据处理和程序开发至关重要。文本文件通常由可读的字符组成,如ASCII编码,而二进制文件则包含机器可理解的原始位...
一个很有用的工具,可以将二进制文件转换为文本文件
文本文件与二进制文件是计算机科学中两个重要的概念,它们在数据存储和处理中扮演着关键角色。本文将深入探讨这两种文件类型的定义、存取方法以及各自的优缺点,帮助读者全面理解它们在实际应用中的差异。 ### 一、...
当我们说“文件”,通常指的是文本文件或二进制文件。文本文件包含可读的字符,如ASCII或Unicode编码,而二进制文件则包含任何类型的数据,包括图像、音频等。 ### 文件转二进制 将文件转换为二进制,主要是读取...
在IT领域,文本文件和二进制文件是两种常见的数据存储格式。文本文件通常使用ASCII或Unicode编码,可被人类直接阅读,而二进制文件则包含机器可读的0和1,通常用于高效的数据存储和传输。在这个场景中,我们要讨论...
"binary_txt 2 txt ascii"和"txt 2 binary_txt ascii"这两个子文件名表明,压缩包中包含两个小程序,分别实现了从二进制文件到文本文件(ASCII编码)的转换,以及从文本文件到二进制文件的转换。 转换过程如下: 1...
1:本程序读取二进制文件,并把读到的二进制文件保存为文本数据 2:二进制文件内容一系列的三维点云数据,由扫描仪器扫描获得 3:本程序采用了多线程技术,读取二进制文件时,界面不会卡顿 4:实例二进制文件为data....
十六进制的文本文件,转为十六进制格式的二进制文件。 从第一个有效字符开始,每2个有效字符(即0~F)输出一个格式化字节,"0x"、"\r\n"、空格等字符会被跳过。
在电子工程和嵌入式系统开发领域,HEX文件和二进制文件是常见的程序存储格式。它们分别代表了十六进制表示的ASCII文本和直接可烧录到硬件的二进制数据。HEX文件通常由编译器或集成开发环境(如Keil)生成,其中包含...
在IT领域,我们经常需要处理各种类型的文件,其中包括二进制文件和文本文件。二进制文件通常包含非打印字符,直接阅读困难,而文本文件则以人类可读的字符编码存储信息。"二进制文件To文本转换器"就是一个解决这种...
本文将深入探讨这一主题,帮助读者理解二进制文件和文本文件在C++中的本质差异,以及如何正确地在不同情境下选择合适的文件操作方式。 ### 一、基本概念 #### 文本文件 文本文件由一系列字符组成,这些字符通常以...
Python文件读写基础:操作文本文件和二进制文件
本文将详细介绍如何使用C++中的`fstream`库来进行文本文件和二进制文件的读写操作。我们将通过具体的代码示例来解释如何利用这些功能,以及在实际应用中需要注意的一些关键点。 #### 二、文本文件读写 ##### 1. ...
首先,我们来理解文本文件和二进制文件的区别。文本文件以人类可读的形式存储数据,如.txt格式,每个字符都有对应的ASCII码。而二进制文件则以机器可读的形式存储,数据直接按照内存中的原始形式写入,如.exe或.bmp...