Python String kodiranje ()

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

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.

Zanimljivi članci...