Python String encode() decode()

Python String encode()

Die Python string encode() Funktion wird verwendet, um den String unter Verwendung der angegebenen Codierung zu codieren. Diese Funktion gibt das Bytes-Objekt zurück. Wenn keine Codierung angegeben wird, wird die Codierung „utf-8“ standardmäßig verwendet.

Python Bytes decode()

Die Python bytes decode() Funktion wird verwendet, um Bytes in ein String-Objekt umzuwandeln. Beide Funktionen ermöglichen es uns, das Fehlerbehandlungsschema für Codierungs-/Decodierungsfehler anzugeben. Die Standardeinstellung ist „streng“, was bedeutet, dass Codierungsfehler einen UnicodeEncodeError auslösen. Einige andere mögliche Werte sind „ignorieren“, „ersetzen“ und „xmlcharrefreplace“. Schauen wir uns ein einfaches Beispiel der Python-String-encode()-decode()-Funktionen an.

str_original = 'Hello'

bytes_encoded = str_original.encode(encoding='utf-8')
print(type(bytes_encoded))

str_decoded = bytes_encoded.decode()
print(type(str_decoded))

print('Encoded bytes =', bytes_encoded)
print('Decoded String =', str_decoded)
print('str_original equals str_decoded =', str_original == str_decoded)

Ausgabe:

<class 'bytes'>
<class 'str'>
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True

Das obige Beispiel demonstriert nicht klar die Verwendung der Codierung. Schauen wir uns ein weiteres Beispiel an, bei dem wir Eingaben vom Benutzer erhalten und diese dann codieren. Im Eingabestring des Benutzers werden einige Sonderzeichen enthalten sein.

str_original = input('Please enter string data:\n')

bytes_encoded = str_original.encode()

str_decoded = bytes_encoded.decode()

print('Encoded bytes =', bytes_encoded)
print('Decoded String =', str_decoded)
print('str_original equals str_decoded =', str_original == str_decoded)

Ausgabe:

Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True

Sie können das vollständige Python-Skript und weitere Python-Beispiele aus unserem GitHub-Repository überprüfen.

Referenz: str.encode() API-Dokumentation, bytes.decode() API-Dokumentation

Source:
https://www.digitalocean.com/community/tutorials/python-string-encode-decode