Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiert man Strings in Python 3 effizient in Bytes?
Wenn der Fehler „TypeError: 'str' unterstützt die Pufferschnittstelle nicht“ auftritt, werden Sie haben zwei Möglichkeiten, einen String in Bytes umzuwandeln:
Auswahl der pythonischeren Methode
In der Python-Dokumentation für den Typ bytes wird empfohlen, bytearray als bevorzugte Methode zum Initialisieren eines Arrays von Bytes aus a zu verwenden string:
bytearray([source[, encoding[, errors]]])
Vor diesem Hintergrund ist es sinnvoll, dass der Konstruktor verschiedene Arten von Quellparametern akzeptiert, da Bytes über die Kodierung von Zeichenfolgen hinaus verschiedene Aufgaben ausführen können.
Für Insbesondere ist die Verwendung von some_string.encode(encoding) pythonischer als die Verwendung von bytes(some_string, Kodierung):
Außerdem ist unicode_string.encode(encoding) auch pythonischer, weil seine Umkehrung es ist byte_string.decode(encoding), Beibehaltung der Symmetrie.
Optimierung der Leistung mit CPython
Bei Verwendung von CPython ruft die Übergabe einer Unicode-Zeichenfolge an Bytes direkt PyUnicode_AsEncodedString auf, das zugrunde liegende Element Implementierung von Encode. Daher eliminiert der Aufruf von „encode yourself“ unnötige Indirektionen und verbessert möglicherweise die Leistung.
Das obige ist der detaillierte Inhalt vonWie konvertiert man Strings in Python 3 effizient in Bytes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!