C基础——文本格式和二进制格式的区别

原文请见 深入:文本格式和二进制格式到底有什么不同?

“信息”在机器层面是通过0和1的排列方式来体现的。可是这些0和1如何变成我们在windows环境下的记事本中看到的文本或者图片查看器中看到的图片呢?这里面就有一个编码的问题!所以,二进制文件和文本文件的不同就是编码层面的不同,二进制文件是值编码,而 ASCII 的文本文件文件是ASCII编码。文本编码可以是定长的(如作为基础的ASCII一个字符总是7位的,Unicode16位),也可以是不定长的(如UTF-8)。而值编码是不定长的(如BMP),它通过一定的读取规则来解释这些字节甚至一个bit就能包含一个信息。


这里写图片描述




FILE * fopen(const char * path,const char * mode);

以二进制形式打开文件(mode 中不含b):完全不在读取函数中转换
以文本形式打开文件(mode 中包含b):则将文件中的回车换行\r\n(ASCII码为13,10)转换为换行\n(ASCII 码为10)。关于fopen函数mode参数的说明,请见 C基础——fopen() 的 mode参数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值