C语言 c++ php mysql nginx linux lnmp lamp lanmp memcache redis 面试 笔记 ppt 设计模式 问题 远程连接

文本文件与二进制文件区别

 

计算机数据的存储在物理上都是二进制的,所以文本文件和二进制文件的区别并不是在于物理存储上。

主要在于编码方式上,文本文件是基于字符编码的文件常见编码有ascii,unicode,utf-8等,而二进制是基于值编码的文件

文本文件的定长编码(当前也有非定长如utf-8),二进制文件是边长编码,多少个bit代表一个值完全由你来决定,这样的编码方式导致二进制会更节省空间

如:00000000_00000000_00000000_00000001 

  用ascii编码方式在记事本中显示则为 NULL_NULL_NULL_SOH

  而在二进制文件中则只是一个 int 型的 1

 

二进制文件和文本文件仅仅是编码上的不同,所以他们的优缺点就是编码方式的优缺点。

文本文件编码基于字符定长,译码容易些;二进制文件编码是变长的,所以它灵活,存储利用率要高些,译码难一些(不同的二进制文件格式,有不同的译码方式),在空间上

比如表示二进制可以用一位(一个bit)来表示一个意思,但文本方式至少一个字符才行(1个字节)

 

文本方式和二进制方式读写只是对换行回车符的处理不同,跟文件本身没有任何关系

 

原文http://www.cnblogs.com/zhangjiankun/archive/2011/11/27/2265184.html

 

posted on 2014-10-19 00:49  思齐_  阅读(699)  评论(0编辑  收藏  举报