0写入文件时出现十六进制错误?
我有一个小问题: 为什么这段代码
somefile = open('foo.txt', 'w')
somefile.write('0B0B0B'.decode('hex'))
somefile.close()
在文件中写入0B0B0B,而这段代码
somefile = open('foo.txt', 'w')
somefile.write('0A0A0A'.decode('hex'))
somefile.close()
在文件中写入0D0A0D0A0D0A?这个“0D”从哪里来?
I have a little problem:
why does this code
somefile = open('foo.txt', 'w')
somefile.write('0B0B0B'.decode('hex'))
somefile.close()
write 0B0B0B in file, and this code
somefile = open('foo.txt', 'w')
somefile.write('0A0A0A'.decode('hex'))
somefile.close()
write 0D0A0D0A0D0A in file? Where does that '0D' come from?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它来自
\n
->\r\n
转换,因为您在 Windows 上运行。如果您想避免这种情况,请以二进制模式 ('wb'
) 打开文件。It comes from the
\n
->\r\n
transformation due to the fact that you're running on Windows. Open the file in binary mode ('wb'
) if you want to avoid this.