二进制文件与文本文件

文本文件编码基于字符定长,译码容易些;二进制文件编码是变长的,所以它灵活,存储利用率要高些,译码难一些(不同的二进制文件格式,有不同的译码方式)。关于空间利用率,想想看,二进制文件甚至可以用一个比特来代表一个意思(位操作),而文本文件任何一个意思至少是一个字符.

http://jiadongkai-sina-com.iteye.com/blog/945854

http://wenku.baidu.com/view/d2b6a923dd36a32d7375810e.html

C的文本方读写与二进制读写的差别仅仅体现在回车换行符的处理上.文本方式写时,每遇到一个”\n”(0AH换行符),它将其换成”\r\n”(0D0AH,回车换行),然后再写入文件;当文本读取时,它每遇到一个”\r\n”将其反变化为”\n”,然后送到读缓冲区.正因为文本方式有”\n”--”\r\n”之间的转换,其存在转换耗时.二进制读写时,其不存在任何转换,直接将写缓冲区中数据写入文件

从编程的角度来说,C中文本或二进制读写都是缓冲区与文件中二进制流的交互,只是文本读写时有回车换行的转换.所以当写缓冲区中无换行符”\n”(0AH),文本写与二进制写的结果是一样的,同理,当文件中不存在”\r\n”(0DH0AH)时,文本读与二进制读的结果一样

posted on 2015-07-29 01:20  fag888  阅读(123)  评论(0编辑  收藏  举报

导航