文本文件和二进制文件的区别

 

1. 二进制文件与文本文件的区别:

1)存储方式

   将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。这就是两者的区别;

2)打开方式

第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII码,而以按照二进制方式打开的话,则不会进行任何的处理和转换;

3)编辑方式

最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。比如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bit),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。

从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:

ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:   

   ASCII码: 00110101   00110110   00110111   00111000   

                         ↓              ↓        ↓            ↓

  十进制码:       5     6            7       8   

共占用4个字节。ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。由于是按字符显示,因此能读懂文件内容。

二进制文件是按二进制的编码方式来存放文件的。例如,数5678的存储形式为:00010110   00101110 只占二个字节。二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。因此也把这种文件称作“流式文件”。  

2. 文本模式(textmode)和二进制模式(binarymode)有什么区别?   

流可以分为两种类型:文本流和二进制流。文本流是解释性的,最长可达255个字符,其中回车/换行将被转换为换行符“\n”,(如果以"文本"方式打开一个文件,那么在读字符的时候,系统会把所有的"\r\n"序列转成"\n",在写入时把"\n"转成"\r\n" )。二进制流是非解释性的,一次处理一个字符,并且不转换字符。

注:  

      \n一般会操作系统被翻译成"行的结束",即LF(Line-Feed)

      \r会被翻译成"回车",即CR(Cariage-Return)

      对于文本文件的新行,在UNIX上,一般用\n(LF)来表示,Mac上用\r(CR)来表示,

      Windows上是用\n\r(CR-LF)来表示。        

         

    通常,文本流用来读写标准的文本文件,或者将字符输出到屏幕或打印机,或者接受键盘的输入;而二进制流用来读写二进制文件(例如图形或字处理文档),或者读取鼠标输入,或者读写调制解调器。如果用文本方式打开二进制文件,会把“0D   0A”自动变换成“\n”来存在内存中。写入的时候反向处理。而二进制方式打开的话,就不会有这个过程。但是,Unicode/UTF/UCS格式的文件,必须用二进制方式打开和读写。---------------------------------------------------------------------------------------------------------

上述基础其实大可以略过,简言之,对用户来说:在 matlab 中存储成为二进制还是文本文件取决于fopen的方式,如果用wt,则存储为文本文件,这样用记事本打开就可以正常显示了;如果用w则存储为二进制文件,这样用记事本打开会出现小黑方块,要正常显示的话,可以用写字板或UltraEdit等工具打开。

还有另一篇文章,感觉写得也还不错;http://blog.csdn.net/seu_xuxueqi/article/details/621904

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 4、二进制测量文件文件扩展名通常为“.bin”或“.dat”,这种文件格式中数据以二进制形式进行存储,相对于文本文件格式而言更为紧凑、高效。写入二进制文件的函数通常包括以下步骤: 1. 打开文件,通常使用fopen()函数; 2. 将需要写入文件的数据以二进制形式存入内存中的缓冲区中; 3. 将缓冲区中的数据以二进制形式写入文件中,通常使用fwrite()函数; 4. 关闭文件,通常使用fclose()函数。 5、虚拟仪器由软件部分和硬件部分组成。其中,软件部分通常是指运行在计算机上的控制、数据处理和显示等程序,硬件部分则是指连接到计算机上的各种传感器、信号发生器、控制器等实际物理设备。虚拟仪器的软件部分通常包括以下主要组成部分: 1. 控制器:用于控制仪器的各种操作,例如设置参数、执行测量操作等; 2. 数据处理模块:用于对测量数据进行处理和分析,例如数据滤波、曲线拟合、功率谱分析等; 3. 显示模块:用于以图形或数字的形式显示测量结果; 4. 存储模块:用于将测量结果保存到文件或数据库中,方便以后进行查看和分析。 虚拟仪器的硬件部分则根据具体测量需求而定,通常包括各种传感器、信号发生器、控制器、放大器、滤波器等。虚拟仪器的优点是具有较高的灵活性和可扩展性,用户可以根据需要选择不同的硬件设备,并通过编写自定义程序或插件来扩展软件功能。 ### 回答2: 4、二进制测量文件文件扩展名是什么,简述一下写入二进制文件函数? 二进制测量文件文件扩展名通常为.bin。二进制文件是以二进制形式存储数据的文件。相比文本文件二进制文件可以更直接地操作和传输数据。 在大多数编程语言中,写入二进制文件通常需要以下几个步骤: 1. 打开文件:使用相应的文件操作函数打开要写入的二进制文件,通常需要指定文件路径和打开模式。 2. 准备数据:将要写入文件的数据准备好,可以是单个变量、数组或其他数据结构。 3. 写入文件:使用相应的写入函数将数据写入已打开的文件中。写入函数根据所使用的编程语言而有所不同,一般需要指定要写入的数据和写入的位置。 4. 关闭文件:完成数据写入之后,使用文件操作函数关闭已打开的文件。这个步骤是保证数据写入成功并释放相关资源的重要操作。 通过上述步骤,我们可以将数据以二进制形式写入文件中,便于后续的读取和处理。 5、虚拟仪器由哪两个部分组成?它们主要又包括哪些部分? 虚拟仪器由软件和硬件两个部分组成。 软件部分主要包括以下几个部分: 1. 控制程序:控制仪器的运行,通过与硬件通信控制输入输出,并将仪器的测量结果显示给用户。 2. 用户界面:提供用户与仪器交互的接口,包括显示仪器状态、调整参数设置、启动停止测量等功能。 3. 数据处理与分析:对仪器测得的数据进行处理、分析和展示,例如生成曲线、计算结果和报告等。 4. 数据存储与管理:将测量数据保存到文件或数据库中,并提供数据管理和查询功能。 硬件部分主要包括以下几个部分: 1. 传感器/探头:用于测量物理量的传感器或探头,将物理量转换为电信号。 2. 数据采集和处理单元:负责采集和处理传感器/探头产生的电信号,并将处理后的数据发送给软件部分。 3. 信号发生器:产生特定频率、幅度和波形的信号,用于校准、测试仪器或与被测物进行交互。 4. 通信接口:与计算机或其他设备进行通信,传输数据以及接收控制信号。 虚拟仪器将软件和硬件部分结合起来,通过软件的控制和数据处理实现测量、测试和分析等功能。它可以大大简化仪器的使用和维护,提高测量的灵活性和可靠性。 ### 回答3: 4、二进制测量文件文件扩展名是.dat,其用于存储二进制测量数据的文件。相比于文本文件二进制文件二进制形式存储数据,可以更高效地保存和读取大量的数值数据。 写入二进制文件的函数一般分为以下几个步骤: 1. 打开文件:首先需要通过函数打开文件,指定文件名和打开方式。打开方式一般为二进制写入模式("wb")。 2. 写入数据:使用相应的函数将数据写入文件。可以使用fwrite函数逐个字节地将数据写入文件,也可以使用fwrite函数一次性将一块数据写入文件。 3. 关闭文件:在完成数据写入后,需要使用函数关闭文件,以便系统释放资源并保存文件。 5、虚拟仪器由硬件层和软件层组成。 硬件层包括仪器接口卡、传感器、执行器等物理设备。仪器接口卡负责将电脑与传感器、执行器连接,实现信号的输入和输出。传感器和执行器用于实时采集或控制物理量。 软件层主要包括驱动程序和虚拟仪器软件。驱动程序用于控制和读取硬件接口卡的数据,实现与硬件的交互。虚拟仪器软件提供了一个图形用户界面,用户可以通过软件来实时显示、分析和处理测量数据。 虚拟仪器软件一般包括以下部分: 1. 仪器控制:提供了一系列的操作按钮和设置选项,用于控制仪器的参数设置、校准、开关等操作。 2. 数据采集:用于实时从传感器获取测量数据,并进行实时显示。同时,还可以进行采样率设置、触发设置等操作。 3. 数据处理:提供了一系列的数据处理功能,如滤波、傅里叶变换、绘图等,用于对采集到的数据进行分析和处理。 4. 数据存储:提供将数据保存到本地文件或数据库中的功能,以便后续分析和查看。 5. 远程控制:有些虚拟仪器软件还支持远程控制功能,用户可以通过网络连接实现远程控制和查看实验证据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值