文本文件与二进制文件
来源:互联网 发布:appstore代充淘宝 编辑:程序博客网 时间:2024/06/06 18:28
这里谈谈文本文件与二进制文件以及C语言读写这两种文件的标准接口。
综上,可以知道文本文件与二进制文件就是编码方式不一样而已,而这个是用户行为,把一个数据以什么样的编码(字符还是值本身)存入文件是由用户主动选择的,也就是写入的接口选择,如果以二进制接口方式写入文件那么就是一个二进制文件,如果以字符方式写入文件就是一个文本文件了。既然有写入时候的编码也就会有读出的编码,只有两个编码对应才能读出正确的结果,如用记事本打开一个二进制文件会呈现乱码的,这里稍微提一下后缀名,后缀名并不能确定其是否就是文本文件,二进制文件也可以是txt后缀名,后缀名只是用来关联打开程序,给用户做备注用的,与文件的具体编码没有关系。
可以使用字符接口读写二进制文件,只需要做些处理即可,所以所谓的二进制文件,文本文件主要体现在读写方式这里。
此外windows有一个明显的区别是对待文本文件读写的时候,会将换行 \n自动替换成 \r\n。
最后文本文件和二进制文件主要是windows下的概念,UNIX/Linux并没有区分这两种文件,他们对所有文件一视同仁,将所有文件都看成二进制文件。
标准I/O库中 主要使用 fread/fwrite来读写二进制文件,而对于文本文件可以使用 fread/fwrite fgetc/fputc fprintf等等。
具体到物理保存时都是二进制的,关键是保存前对数据的编码有区别。
文本文件格式存储时是将值作为字符然后存入其字符编码的二进制,文本文件用‘字符’作为单位来表示和存储数据,比如对于1这个值,文本文件会将其看做字符‘1’然后保存其ASCII编码值(这里假定是ASCII编码),这样在物理上就是0x31这个二进制值,而若是二进制保存1,则直接保存其二进制值,比如如果程序中是处理1为整数则保存的二进制值就是 0x00000001 (4字节)。
综上,可以知道文本文件与二进制文件就是编码方式不一样而已,而这个是用户行为,把一个数据以什么样的编码(字符还是值本身)存入文件是由用户主动选择的,也就是写入的接口选择,如果以二进制接口方式写入文件那么就是一个二进制文件,如果以字符方式写入文件就是一个文本文件了。既然有写入时候的编码也就会有读出的编码,只有两个编码对应才能读出正确的结果,如用记事本打开一个二进制文件会呈现乱码的,这里稍微提一下后缀名,后缀名并不能确定其是否就是文本文件,二进制文件也可以是txt后缀名,后缀名只是用来关联打开程序,给用户做备注用的,与文件的具体编码没有关系。
可以使用字符接口读写二进制文件,只需要做些处理即可,所以所谓的二进制文件,文本文件主要体现在读写方式这里。
此外windows有一个明显的区别是对待文本文件读写的时候,会将换行 \n自动替换成 \r\n。
最后文本文件和二进制文件主要是windows下的概念,UNIX/Linux并没有区分这两种文件,他们对所有文件一视同仁,将所有文件都看成二进制文件。
标准I/O库中 主要使用 fread/fwrite来读写二进制文件,而对于文本文件可以使用 fread/fwrite fgetc/fputc fprintf等等。
0 0
- 二进制文件与文本文件
- 文本文件与二进制文件
- 文本文件与二进制文件
- 文本文件与二进制文件
- 文本文件与二进制文件总结
- 文本文件与二进制文件
- 文本文件与二进制文件
- 文本文件与二进制文件
- 文本文件与二进制文件
- 文本文件与二进制文件
- 文本文件与二进制文件
- 二进制文件与文本文件
- 文本文件与二进制文件
- 文本文件与二进制文件区别
- 文本文件与二进制文件区别
- 文本文件与二进制文件
- 文本文件与二进制文件区别
- 文本文件与二进制文件区别
- 黑马程序员——静态的应用
- BZOJ 1845 CQOI 2005 三角形面积并 扫描线
- HLJUOJ1181(数学)
- 主图指标,原创极强黄点,将军柱和黄金柱都是3日的
- RAGE的megatexture介绍
- 文本文件与二进制文件
- HDU 3038 How Many Answers Are Wrong(带权并查集)
- SDWebImage使用——一个可管理远程图片加载的类库
- RabbitMQ官网教程---工作队列
- 全新的PRT技术
- Ansible学习之基础(1)
- codevs2292 图灵机游戏
- 工业企业数据库处理代码完整版本——2.匹配样本
- java基础---Stream