2017-05-12 19 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

相關問題