文本模式 二进制模式& 文本文件 二进制文件

文本模式和二进制模式在文件操作中扮演着不同角色,尤其在UNIX/Linux与Windows系统间存在差异。在UNIX系统中,文件读取保持原始字节,而在Windows的文本模式下,会有 到 的转换。文本文件使用ASCII码,每个字符占用1字节,而二进制文件可以更高效地利用字节,且不局限于ASCII编码,适合存储多媒体数据。二进制文件在屏幕上显示的内容通常不可读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  这几个概念很常见但是也容易搞混。前两者是相反的意思,后两者是一对。

1. 文本模式(textmode)和二进制模式(binarymode)的区别

0.  无论你用哪种语言进行程序设计,也无论你用哪个函数进行文件操作(库函数也好,直接操作系统API也好),最终的文件打开的操作都是由操作系统来进行的,因此各种语言的情况从本质上来说都是相同的。用二进制模式打开一个文件的时候,文件本身的内容和你编写程序时用函数读到的内容完全相同(或者说和磁盘上的内容完全相同)。但是如果用了文本模式,那么操作系统在将文件内容传给上层程序(库函数,或者是你的程序)时,或者上层程序通过操作系统向文件写入内容时,操作系统都会预先进行一层预处理(或者说转义),具体过程依赖于操作系统的实现。

1.  在unix(包括linux)系统上,一个程序从文件里读数据,它得到的数据就是数据本身,一个一个的字节。然而在windows系统上,一个文件可以用两种模式打开,二进制模式或者文本模式,在二进制模式下,表现的就像unix系统;然而在文本模式下,会有一个转换。是\n <-------> \r\n之间的转换。具体讲就是将回车符"\r\n"解释成"\n"(读出时),将"\n"解释成"\r\n"(写入时)。总之,在unix系统上,打开文件只有二进制模式,在windows系统上,打开文件有文本模式和二进制模式两种。

2.文本文件与二进制文件的区别:

将文件看作是由一个一个字节(byte) 组成的, 那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值