Kodiranje niza Python ()

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 UnicodeDecodeErrorizjemo.

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.

Zanimive Članki...