博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文本文件和二进制文件
阅读量:4843 次
发布时间:2019-06-11

本文共 476 字,大约阅读时间需要 1 分钟。

相同点

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

你可能感兴趣的文章
Tsung CentOS 操作系统下搭建tsung性能测试环境_Part 2
查看>>
Docker实战(五)之端口映射与容器互联
查看>>
记一次js之button问题
查看>>
初学python类
查看>>
springmvc学习笔记(18)-json数据交互
查看>>
STL容器介绍
查看>>
如何解决定时文章没法正常发布
查看>>
基于Jmeter+maven+Jenkins构建性能自动化测试平台
查看>>
C#属性升级版--自动属性-chapter 3 P34-36
查看>>
IP 数据包分析上
查看>>
整数数组中最大子数组的和
查看>>
CSS图片垂直居中实现方法详解
查看>>
Python3之os模块
查看>>
GMF改变结点颜色
查看>>
页面定制CSS代码
查看>>
mysql严格模式的开启、关闭
查看>>
WP7获取ISolatedStorage指定文件夹下所有子文件夹或者文件数
查看>>
十大电子论坛推荐
查看>>
返璞归真——OO第四单元总结暨学期总结
查看>>
spring webflow2局部刷新是如何实现的?
查看>>