Die Bedeutung des Präfixes „b“ in Python-Strings verstehen
Im Python-Quellcode stoßen Sie möglicherweise auf Strings, denen ein Kleinbuchstabe „“ vorangestellt ist. B'. Dieses „b“ steht für ein Bytes-String-Literal.
Bytes vs. Unicode
In Python 3 sind Strings überwiegend Unicode-Objekte. Unicode-Zeichenfolgen stellen Textzeichen unter Verwendung von Codepunkten aus einer Vielzahl von Standards dar, darunter UTF-8, UTF-16 und UTF-32.
Im Gegensatz dazu repräsentieren Bytes-Objekte in Python Binärdateien Daten, einschließlich codiertem Text. Sie enthalten eine Folge von Ganzzahlen im Bereich von 0 bis 255, die im Wesentlichen Rohdatenwerte darstellen.
Erstellen von Bytes-Objekten
Um ein Bytes-Objekt zu erstellen, verwenden Sie „b“. ' Präfix vor einem String-Literal:
<code class="python">b"abcdef"</code>
Alternativ können Sie Bytes-Objekte auch aus Folgen von Ganzzahlen oder konstruieren durch Kodierung von Unicode-Zeichenfolgen:
<code class="python">bytes([72, 101, 108, 108, 111]) bytesvalue = strvalue.encode('utf-8')</code>
Dekodierung und Kodierung
Um Unicode-Text aus einem Byte-Objekt zu erhalten, verwenden Sie die Methode decode():
<code class="python">strvalue = bytesvalue.decode('utf-8')</code>
Umgekehrt können Sie zum Konvertieren von Unicode-Text in Bytes die Methode encode() oder das Objekt bytes verwenden Konstruktor:
<code class="python">bytesvalue = strvalue.encode('utf-8') bytesvalue = bytes(strvalue, 'utf-8')</code>
Fehlerbehandlung
Sowohl die Methoden decode() als auch encode() akzeptieren ein optionales Argument, um Fehler während des Konvertierungsprozesses zu behandeln. Dieses Argument gibt an, wie mit ungültigen Zeichen oder Codierungsproblemen umgegangen werden soll.
Python 2-Kompatibilität
Python 2-Versionen 2.6 und 2.7 unterstützen auch das Präfix „b“ für Zeichenfolgenliterale um die Codekompatibilität mit Python zu erleichtern 3.
Unveränderlichkeit
Bytes-Objekte sind unveränderlich, was bedeutet, dass ihr Inhalt nicht geändert werden kann. Wenn Sie eine veränderbare Darstellung von Binärdaten benötigen, verwenden Sie stattdessen ein bytearray()-Objekt.
Das obige ist der detaillierte Inhalt vonWas bedeutet das Präfix „b' in Python-Strings?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!