Metoda string encode () vrne kodirano različico danega niza.
Od Pythona 3.0 so nizi shranjeni kot Unicode, torej je vsak znak v nizu predstavljen s kodno točko. Vsak niz je torej le zaporedje kodnih točk Unicode.
Za učinkovito shranjevanje teh nizov se zaporedje kodnih točk pretvori v niz bajtov. Postopek je znan kot kodiranje .
Obstajajo različna kodiranja, ki niz obravnavajo drugače. Priljubljena kodiranja so utf-8 , ascii itd.
Z uporabo encode()
metode string lahko pretvorite nize, ki niso kodirani, v katero koli kodiranje, ki ga podpira Python. Python privzeto uporablja kodiranje utf-8 .
Sintaksa encode()
metode je:
string.encode (kodiranje = 'UTF-8', napake = 'strogo')
Parametri kodiranja niza ()
Privzeto encode()
metoda ne zahteva nobenih parametrov.
Vrne različico niza, kodirano z utf-8. V primeru okvare sproži UnicodeDecodeError
izjemo.
Vendar sta potrebna dva parametra:
- encoding - vrsta kodiranja, v katero je treba kodirati niz
- napake - odziv pri kodiranju ne uspe. Obstaja šest vrst odzivov na napake
- striktno - privzeti odgovor, ki ob okvari sproži izjemo UnicodeDecodeError
- ignore - ignorira nekodirajočo unicode iz rezultata
- replace - nadomesti uncodible unicode na vprašaj ?
- xmlcharrefreplace - vstavi sklic na znak XML namesto nekodirane unicode
- backslashreplace - vstavi ubežno zaporedje uNNNN namesto nekodirane unicode
- namereplace - vstavi ubežno zaporedje N (…) namesto nekodirane unicode
Primer 1: Kodiranje v privzeto kodiranje 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)
Izhod
Niz je: pythön! Kodirana različica je: b'pyth xc3 xb6n! '
Primer 2: Kodiranje s parametrom napake
# 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"))
Izhod
Niz je: pythön! Kodirana različica (z ignoriranjem) je: b'pythn! ' Kodirana različica (z zamenjavo) je: b'pyth? N! '
Opomba: Preizkusite tudi različne parametre kodiranja in napak.