文本文件和二进制文件

相同点

文本文件和二进制文件在物理上都是以二进制(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 函数

转载于:https://www.cnblogs.com/TaoyzDream/p/3678013.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值