處理從外部程式或輸入流捕獲的資料時會出現此問題。我們希望將此類資料編碼為常規 Python 字串以進行列印或進一步處理。
考慮以下位元組物件:
>>> from subprocess import * >>> stdout = Popen(['ls', '-l'], stdout=PIPE).communicate()[0] >>> stdout b'total 0\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file2\n'
要將其轉換為用於列印目的的字串,請對位元組進行解碼使用適當的編碼:
>>> stdout.decode("utf-8") '-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file1\n-rw-rw-r-- 1 thomas thomas 0 Mar 3 07:03 file2\n'
雖然UTF-8 是常見的編碼,但使用與實際資料相符的編碼至關重要。否則可能會導致亂碼或不正確的輸出。
以上是如何在 Python 3 中將位元組轉換為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!