2017-05-12 15 views

回答

0

的Python在字节表示解释号10作为换行符之前出现的附加0d,更准确地说是ASCII换行符(LF):

In [1]: A = [14,10,0,0] 

In [2]: bytearray(A) 
Out[2]: bytearray(b'\x0e\n\x00\x00') 

你有没有机会使用Windows?在那里,一个换行符作为一个回车符(CR,十六进制的0d)和一个换行字符序列写入文件。要避免这种与系统相关的翻译,您应该打开binary mode中的文件:

如果省略模式,则默认为'r'。默认情况下,使用文本模式,可以在写入时将'\ n'字符转换为特定于平台的表示并返回读取。因此,当打开一个二进制文件时,应该在模式值后加'b'以二进制模式打开文件,这将提高可移植性。

+0

是。在Windows 10上,我实际上是以HEX格式打开文件。这就是实际问题所在。它的意思是十六进制。但由于某种原因它分成两个十六进制数字 – user1954188

相关问题