windows下⽂本⽂件读取和⼆进制⽂件读写的区别
⼀、写
⼆进制⽅式写,当遇到整型和浮点数时是以⼩端模式的整个⼗六进制值写⼊到⽂件中(和内存中⼀样),当遇到ascii字符和utf-16(unicode)类型的字符时候是⽤该编码的key值(unicode 16字节时候不作为⼩端模式⽽是书写模式存储)写⼊到⽂件中(和内存中⼀样)。
⽂本⽅式写,⽂本⽅式会根据当前程序使⽤的编码⽅式,将所有整型/浮点数/字符,都当做字符⼀个个映射到编码⽅式中的key,然后写⼊到⽂件中,windows下如果遇到'\n' 换⾏符那么会翻译为"\r\n"写⼊到⽂件中(linux下不会),所以⽂本⽅式存在⼀个程序内存数据到⽂件存储数据之间有⼀个翻译的过程。
⼆、读
⼆进制读⼆进制写⼊的⽂件,那么可以直接读取到结构体中填充数据得到结果。⼆进制读取⽂本⽂件,就是⽂本⽂件原来的样⼦读取到内存中"\r\n"当做两个字符读取到内存中。
⽂本⽅式读⼆进制⽂件会失败。⽂本⽅式读取⽂本⽂件遇到"\r\n"会转换为'\n"读取到内存中。
所以⼆进制⽅式和⽂本⽅式读取⽂本⽂件,得到的结果还是存在细微差异的。
⼆进制⽂件读写优缺点:
1.⼆进制⽂件存储图形图像数据和数值数据占⽤的空间少,读写速度快。
2.⼆进制⽂件在内存中可以⽤fseek函数等,程序中处理起来⽐较灵活。
3.⼆进制读⽂本⽂件会将"\r\n"全部读取出来,不便于程序处理。
linux怎么读取windows文件4.⼆进制⽂件的可移植性可能会出现问题,因为机器不⼀样位数和浮点数的标准不⼀样的话,会导致读⼊到内存⾥⾯发⽣差异。
⽂本⽂件的读写优缺点:
1.处理⽂本⽂件较⽅便,但是效率相对慢点。
2.⽂本⽂件读取因为“\r\n"会变成"\n",程序中建议不能⽤fseek处理,程序处理没有那么灵活。
2.⽂本⽂件的可移植性也可能会有问题, 因为添加"\r\n"的符号,但是⽐⼆进制⽂件好些。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。