文件的文本打开方式和二进制打开方式的区别

在 UNIX/Linux 平台中,用文本方式或二进制方式打开文件没有任何区别。

在 UNIX/Linux 平台中,文本文件以/n(ASCII 码为 0x0a)作为换行符号;而在 Windows 平台中,文本文件以连在一起的/r/n/r的 ASCII 码是 0x0d)作为换行符号。

在 Windows 平台中,如果以文本方式打开文件,当读取文件时,系统会将文件中所有的/r/n转换成一个字符/n,如果文件中有连续的两个字节是 0x0d0a,则系统会丢弃前面的 0x0d 这个字节,只读入 0x0a。当写入文件时,系统会将/n转换成/r/n写入。

也就是说,如果要写入的内容中有字节为 0x0a,则在写人该字节前,系统会自动先写入一个 0x0d。因此,如果用文本方式打开二进制文件进行读写,读写的内容就可能和文件的内容有出入。

因此,用二进制方式打开文件总是最保险的。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/21582.html

(0)
上一篇 2021年7月20日
下一篇 2021年7月20日

相关推荐

发表回复

登录后才能评论