`rb`和`r`的区别是什么对于打开一个文件?
使用open函数打开一个文件,有rb
, r
的参数:
请问下:
使用rb
打开就是得到二进制
数据吗?还是字节数据?字节数据和二进制数据有何区别?
使用r
打开就直接是字符串吗?字符串和字节的区别是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
使用open函数打开一个文件,有rb
, r
的参数:
请问下:
使用rb
打开就是得到二进制
数据吗?还是字节数据?字节数据和二进制数据有何区别?
使用r
打开就直接是字符串吗?字符串和字节的区别是什么?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
使用r:
是推荐使用的打开文本文件的模式。因为使用此模式打开文本文件时,python默认为我们做了一些处理,比如:假设在windows下,将本来应该读入的换行符
\r\n
处理成\n
,方便我们处理。(值得一提的是,当你将\n
写入文件时,python也会默认将其替换成\r\n
,如果你是win系统的话)补充:其实是启用了通用换行符支持(UNS),它默认开启。
使用rb:
则python不会对文本文件预处理了,你读入的
\r\n
依然是\r\n
.rb 是字节流(字节)
r 是string(字符串)
python3 open
字节数据就可以理解为二进制数据
二进制数据是用来存储和传输的,因为计算机只认识010101010
unicode是字符集,我们看到的字符串就是unicode对应的一个个字符
然后又有不同的编码方式 utf-8,gbk,utf-16等等
同一个字符使用不同的编码会得到不同的二进制数据,这就是常见的编码乱码