Python karakterlánc kódolása ()

A string encode () metódus az adott karakterlánc kódolt változatát adja vissza.

A Python 3.0 óta a karakterláncokat Unicode-ként tárolják, vagyis a karakterlánc minden egyes karakterét kódpont képviseli. Tehát minden sztring csak Unicode kódpontok sorozata.

Ezen karakterláncok hatékony tárolása érdekében a kódpontok sorrendjét bájtkészletgé alakítják át. A folyamatot kódolásnak nevezik .

Különböző kódolások vannak jelen, amelyek másként kezelik a húrokat. A népszerű kódolások: utf-8 , ascii stb.

A string encode()metódusával a kódolatlan karakterláncokat bármilyen Python által támogatott kódolássá alakíthatja. Alapértelmezés szerint a Python az utf-8 kódolást használja.

A encode()módszer szintaxisa :

 string.encode (kódolás = 'UTF-8', hibák = 'szigorú')

String encode () Paraméterek

Alapértelmezés szerint a encode()módszer nem igényel paramétereket.

Visszaadja a karakterlánc utf-8 kódolt változatát. Meghibásodás esetén UnicodeDecodeErrorkivételt jelent.

Ehhez azonban két paraméterre van szükség:

  • kódolás - a karakterlánc kódolási típusát kódolni kell
  • hibák - válasz, ha a kódolás sikertelen. A hibaválasznak hat típusa van
    • szigorú - alapértelmezett válasz, amely UnicodeDecodeError kivételt vet fel a hiba esetén
    • figyelmen kívül hagyja - figyelmen kívül hagyja a kódolhatatlan unicode-ot az eredményből
    • lecserélni - a kódolhatatlan unicode kérdőjelre cserél ?
    • xmlcharrefreplace - XML ​​karakter hivatkozást illeszt be a kódolhatatlan unicode helyett
    • backslashreplace - uNNNN menekülési sorrendet illeszt be a kódolhatatlan unicode helyett
    • namereplace - egy N (…) menekülési szekvenciát illeszt be a kódolhatatlan unicode helyett

1. példa: Kódolás alapértelmezett Utf-8 kódolásra

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

Kimenet

A húr: pythön! A kódolt verzió a következő: b'pyth xc3 xb6n! '

2. példa: Kódolás hibaparaméterrel

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

Kimenet

A húr: pythön! A kódolt verzió (figyelmen kívül hagyva): b'pythn! ' A kódolt verzió (cserével): b'pyth? N! '

Megjegyzés: Próbálja ki a különböző kódolási és hibaparamétereket is.

érdekes cikkek...