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 UnicodeDecodeError
kivé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.