簡體   English   中英

讀取二進制文件但想轉換為文本/字符串

[英]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 代碼頁編號為strunicode (取決於您的 Python 版本)。 您可以使用任何您想要的代碼頁。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM