Python String encode ()

Metoda string encode () vrací kódovanou verzi daného řetězce.

Od Pythonu 3.0 jsou řetězce uloženy jako Unicode, tj. Každý znak v řetězci je reprezentován bodem kódu. Každý řetězec je tedy pouze posloupností kódových bodů Unicode.

Pro efektivní ukládání těchto řetězců se sekvence kódových bodů převede na sadu bajtů. Proces je známý jako kódování .

Existují různá kódování, která zacházejí s řetězcem odlišně. Populární kódování jsou utf-8 , ascii atd.

Pomocí encode()metody řetězce můžete převést unicodedové řetězce na jakékoli kódování podporované Pythonem. Ve výchozím nastavení používá Python kódování utf-8 .

Syntaxe encode()metody je:

 string.encode (encoding = 'UTF-8', errors = 'strict')

Parametry kódování řetězce ()

Ve výchozím nastavení encode()metoda nevyžaduje žádné parametry.

Vrátí utf-8 kódovanou verzi řetězce. V případě selhání vyvolává UnicodeDecodeErrorvýjimku.

Trvá však dva parametry:

  • encoding - typ kódování, do kterého musí být řetězec zakódován
  • chyby - reakce při selhání kódování. Existuje šest typů chybových odpovědí
    • strict - výchozí odpověď, která při selhání vyvolá výjimku UnicodeDecodeError
    • ignore - ignoruje nezakódovatelný unicode z výsledku
    • nahradit - nahradí unencodable unicode na otazník ?
    • xmlcharrefreplace - vloží odkaz na znak XML namísto unencodable unicode
    • backslashreplace - vloží únikovou sekvenci uNNNN namísto unencodable unicode
    • namereplace - místo unencodable unicode vloží únikovou sekvenci N (…)

Příklad 1: Zakódovat na výchozí kódování Utf-8

 # 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) 

Výstup

Řetězec je: pythön! Zakódovaná verze je: b'pyth xc3 xb6n! '

Příklad 2: Kódování s parametrem chyby

 # 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")) 

Výstup

Řetězec je: pythön! Zakódovaná verze (s ignorováním) je: b'pythn! ' Zakódovaná verze (s nahrazením) je: b'pyth? N! '

Poznámka: Zkuste také jiné parametry kódování a chyby.

Zajímavé články...