Diese Frage stellt sich beim Umgang mit Daten, die von externen Programmen oder Eingabeströmen erfasst wurden. Wir möchten solche Daten als reguläre Python-Strings zum Drucken oder zur weiteren Verarbeitung kodieren.
Betrachten Sie das folgende Byte-Objekt:
>>> 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'
Um es für Druckzwecke in einen String umzuwandeln, dekodieren Sie die Bytes Verwenden der entsprechenden Kodierung:
>>> 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'
Während UTF-8 eine gängige Kodierung ist, ist es wichtig, die Kodierung zu verwenden, die den tatsächlichen Daten entspricht. Andernfalls kann es zu einer verstümmelten oder falschen Ausgabe kommen.
Das obige ist der detaillierte Inhalt vonWie kann ich Bytes in Python 3 in einen String konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!