文本文件和二进制文件

相同点

文本文件和二进制文件在物理上都是以二进制(01)存储的。

不同点·写入

以文本方式写文件(w/w+),遇到'\n'字符时,自动转换成'\r''\n',变成2个字符再存

以二进制方式写文件(wb/wb+),遇到'\n'时,不转换,直接存该字符

当写入的数据中有'\n'时,文本方式写文件速度要慢(有转换),写的文件要大(多了'\r')

不同点·读取

以文本方式读文件(r/r+),遇到'\r''\n'时,转换成'\n',变成一个字符

以二进制方式读(rb/rb+),遇到'\r''\n'时,不转换,还是两个字符

当读取的数据中有''\r'\n'时,文本方式读文件速度要慢(有转换)

结论

当你要存入的数据没有'\n'时,无论使用文本还是二进制方式,得到的文件大小都是一样的
要想压缩文件大小,只能从数据编码下手
例如 12、14两个数字,就可以存入1个字节(12<<4 | 14)

建议

写自定义编码的二进制文件,使用 fwrite 函数
posted @ 2014-04-21 11:12  TaoyzDream  阅读(175)  评论(0编辑  收藏  举报