Python String encode ()

Die Methode string encode () gibt eine codierte Version der angegebenen Zeichenfolge zurück.

Seit Python 3.0 werden Zeichenfolgen als Unicode gespeichert, dh jedes Zeichen in der Zeichenfolge wird durch einen Codepunkt dargestellt. Jede Zeichenfolge ist also nur eine Folge von Unicode-Codepunkten.

Zur effizienten Speicherung dieser Zeichenfolgen wird die Folge von Codepunkten in einen Satz von Bytes konvertiert. Der Prozess wird als Codierung bezeichnet .

Es sind verschiedene Codierungen vorhanden, die eine Zeichenfolge unterschiedlich behandeln. Die gängigen Kodierungen sind utf-8 , ascii usw.

Mit der String- encode()Methode können Sie nicht codierte Strings in alle von Python unterstützten Codierungen konvertieren. Standardmäßig verwendet Python die utf-8- Codierung.

Die Syntax der encode()Methode lautet:

 string.encode (Kodierung = 'UTF-8', Fehler = 'streng')

String encode () Parameter

Standardmäßig benötigt die encode()Methode keine Parameter.

Es gibt eine utf-8-codierte Version der Zeichenfolge zurück. Im Fehlerfall wird eine UnicodeDecodeErrorAusnahme ausgelöst .

Es werden jedoch zwei Parameter benötigt:

  • Codierung - Der Codierungstyp, in den eine Zeichenfolge codiert werden muss
  • Fehler - Antwort, wenn die Codierung fehlschlägt. Es gibt sechs Arten von Fehlerreaktionen
    • strict - Standardantwort, die bei einem Fehler eine UnicodeDecodeError-Ausnahme auslöst
    • ignorieren - ignoriert den nicht codierbaren Unicode aus dem Ergebnis
    • Ersetzen - Ersetzt der nicht codierbare Unicode durch ein Fragezeichen ?
    • xmlcharrefreplace - Fügt eine XML-Zeichenreferenz anstelle eines nicht codierbaren Unicodes ein
    • backslashreplace - fügt anstelle eines nicht codierbaren Unicodes eine Escape-Sequenz uNNNN ein
    • namereplace - fügt anstelle eines nicht codierbaren Unicodes eine Escape-Sequenz N (…) ein

Beispiel 1: Auf Standard-Utf-8-Codierung codieren

 # unicode string string = 'pythön!' # print string print('The string is:', string) # default encoding to utf-8 string_utf = string.encode() # print result print('The encoded version is:', string_utf) 

Ausgabe

Die Zeichenfolge lautet: pythön! Die codierte Version lautet: b'pyth xc3 xb6n! '

Beispiel 2: Codierung mit Fehlerparameter

 # unicode string string = 'pythön!' # print string print('The string is:', string) # ignore error print('The encoded version (with ignore) is:', string.encode("ascii", "ignore")) # replace error print('The encoded version (with replace) is:', string.encode("ascii", "replace")) 

Ausgabe

Die Zeichenfolge lautet: pythön! Die codierte Version (mit Ignorieren) lautet: b'pythn! ' Die codierte Version (mit Ersetzen) lautet: b'pyth? N! '

Hinweis: Probieren Sie auch verschiedene Codierungs- und Fehlerparameter aus.

Interessante Beiträge...