二进制流和文本流的区别

在c中引入了流(stream)的概念。它将数据的输入输出看做是数据的流入和留出,这样无论是磁盘文件或者是物理设备(打印机、显示器、键盘等),均可看做一种流的源和目的,视他们为同一种东西,而无论其具体的屋里解构,即对他们的操做,就是数据的流入和流出。这种把数据的输入输出操做对象,抽象化为一种流,而无论它的具体结构的方法颇有利于编程,而涉及流的输出操做函数可用于各类对象,与其具体的实体无关,即具备通用性。编程

在c中流可分为两大类,即文本流和二进制流。函数

所谓文本流是指在流中流动的数据是以字符形式出现。编码

二进制流是指流动的是二进制数字序列,若流中有字符,则用一个字节的二进制ASCII码表示,如果数字,则用一个字节的二进制数标识。在流入流出时,对\n符号不进行变换。例如2001这个数,在文本流中用其ASCII码表示为对象

'2' '0' '0' '1'字符编码

||||效率

50 48 48 49stream

共占4字节。而在二进制流中则表示为:00000111 11010001 用十六进制就是07D1。只占两字节。二进制

由此看出,二进制流比文本流节省空间,且不用进行对\n的转换,这样能够大大加快流的速度,提升效率。于是,对于含有大量数字信息的数字流,能够采用二进制流的方式;对于含有大量字符信息的流,则采用文本流的方式。方法

 

文本文件与二进制文件的定义数据

你们都知道计算机的存储在物理上是二进制的,因此文本文件与二进制文件的区别并非物理上的,而是逻辑上的。这二者只是在编码层次上有差别。

简单来讲,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。

二进制文件是基于值编码的文件,你能够根据具体应用,指定某个值是什么意思(这样一个过程,能够看做是自定义编码)

相关文章
相关标签/搜索