首頁 > 後端開發 > Python教學 > 如何在 Python 3 中將位元組物件轉換為字串?

如何在 Python 3 中將位元組物件轉換為字串?

DDD
發布: 2024-12-26 02:49:11
原創
624 人瀏覽過

How Do I Convert a Bytes Object to a String in Python 3?

在Python 3 中將位元組轉換為字串

問題:

問題:
import subprocess
p = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)
stdout, _ = p.communicate()
登入後複製

b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1\n' 
登入後複製
問題:

問題:

問題:
decoded_stdout = stdout.decode("encoding")
登入後複製

您已經捕獲了外部程式的標準輸出轉換為位元組對象,並且需要將其顯示為字串。例如:

這將產生一個位元組對象,如下所示:

您的目標是將這個位元組物件轉換為標準 Python 字串。

解決方案:

要將位元組物件 stdout 轉換為 Python 3 中的字串,請使用解碼()方法。此方法將位元組物件的編碼作為參數。操作方法如下:
decoded_stdout = stdout.decode("utf-8")
登入後複製

print(decoded_stdout) 
# Output:
# -rw-rw-r-- 1 thomas thomas 0 Mar  3 07:03 file1
登入後複製
選擇編碼:編碼參數指定用於解碼位元組的字元集。在給出的範例中,假定 UTF-8 為預設編碼。但是,使用資料的實際編碼非常重要。 如果您不知道編碼,可以嘗試使用「utf-8」。或者,您可以使用 chardet 等函式庫自動偵測編碼。 範例:使用UTF-8 作為假定編碼: 您現在可以列印解碼後的字串:

以上是如何在 Python 3 中將位元組物件轉換為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板