[英]Reading binary file but want to convert to text/string
我正在讀取一個二進制文件:
file = open("TPSDisplay/Reader/radio_log.BIN","rb")
lines = file.read(100)
file.close()
當我運行print(lines)
時,它會打印轉換后的二進制字符串,在這種情況下是:
'\r\n01659963148.977->>(\x00\x00\x00\xa5v\xe6A\x0033\x0033\x00\x00\x00\x00\x00\x00\xd9\xfb\x00\x0c\x17\x90\x01M\x04\x00\x00\x00\x1d\xb3\x1c\xf6\x8ep\xf7N\xf6\x00\x00\r\n01659963148.977->>(\x00\x00\x00\xa5v\xe6A\x0033\x0033\x00\x00\x00'
現在我想拆分這個關於\r
的字符串並進行一般的字符串操作,但由於lines
不是普通字符串 object 我不能這樣做。
注意:我認為十六進制表示一個 excel 表,因為這通常是這個二進制文件輸出的,如果你知道如何解釋長數字后面的數據,這也將非常有幫助。
在你的情況下,你可以使用
lines.decode("utf-8")
將字節轉換為字符串並進行處理。
但是二進制文件無法轉換為人們可以閱讀的普通字符串。
您可以編寫lines.decode(someEncoding)
其中someEncoding
是 Windows/DOS 代碼頁編號為str
或unicode
(取決於您的 Python 版本)。 您可以使用任何您想要的代碼頁。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.