Metoda string encode () vraća kodiranu verziju zadanog niza.
Od Pythona 3.0, nizovi se pohranjuju kao Unicode, tj. Svaki znak u nizu predstavljen je kodnom točkom. Dakle, svaki je niz samo niz Unicode kodnih točaka.
Za učinkovito pohranjivanje tih nizova, slijed točaka koda pretvara se u skup bajtova. Proces je poznat kao kodiranje .
Prisutna su različita kodiranja koja različito tretiraju niz. Popularna kodiranja su utf-8 , ascii itd.
Koristeći encode()
metodu niza , možete pretvoriti nekodirane nizove u bilo koje kodiranje koje Python podržava. Prema zadanim postavkama Python koristi utf-8 kodiranje.
Sintaksa encode()
metode je:
string.encode (encoding = 'UTF-8', pogreške = 'strogo')
Parametri kodiranja niza ()
Prema zadanim postavkama encode()
metoda ne zahtijeva nikakve parametre.
Vraća verziju niza kodiranu u utf-8. U slučaju neuspjeha, postavlja se UnicodeDecodeError
iznimka.
Međutim, potrebna su dva parametra:
- encoding - vrsta kodiranja u koju niz mora biti kodiran
- pogreške - odgovor kada kodiranje ne uspije. Postoji šest vrsta odgovora na pogreške
- Strogi - zadani odgovor koji u slučaju neuspjeha dovodi do iznimke UnicodeDecodeError
- ignore - ignorira nekodirajući unicode iz rezultata
- replace - zamjenjuje uncodible unicode znakom pitanja ?
- xmlcharrefreplace - ubacuje referencu XML znaka umjesto nekodirajućeg unicode-a
- backslashreplace - umeće uNNNN izlaznu sekvencu umjesto unodirajućeg unicode-a
- namereplace - ubacuje N (…) izlaznu sekvencu umjesto nekodirajućeg unicode-a
Primjer 1: Kodiranje prema zadanom Utf-8 kodiranju
# 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)
Izlaz
Niz je: pythön! Kodirana verzija je: b'pyth xc3 xb6n! '
Primjer 2: Kodiranje s parametrom pogreške
# 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"))
Izlaz
Niz je: pythön! Kodirana verzija (s ignore) je: b'pythn! ' Kodirana verzija (s zamjenom) je: b'pyth? N! '
Napomena: Isprobajte i različite parametre kodiranja i pogreške.