相同点
文本文件和二进制文件在物理上都是以二进制(01)存储的。
不同点·写入
以文本方式写文件(w/w+),遇到' '字符时,自动转换成' '' ',变成2个字符再存
以二进制方式写文件(wb/wb+),遇到' '时,不转换,直接存该字符
当写入的数据中有' '时,文本方式写文件速度要慢(有转换),写的文件要大(多了' ')
不同点·读取
以文本方式读文件(r/r+),遇到' '' '时,转换成' ',变成一个字符
以二进制方式读(rb/rb+),遇到' '' '时,不转换,还是两个字符
当读取的数据中有'' ' '时,文本方式读文件速度要慢(有转换)
结论
当你要存入的数据没有'
'时,无论使用文本还是二进制方式,得到的文件大小都是一样的
要想压缩文件大小,只能从数据编码下手
例如 12、14两个数字,就可以存入1个字节(12<<4 | 14)
建议
写自定义编码的二进制文件,使用 fwrite 函数