Python virknes kodējums ()

Metode string encode () atgriež dotās virknes kodēto versiju.

Kopš Python 3.0 virknes tiek glabātas kā Unicode, ti, katru rakstzīmi virknē attēlo koda punkts. Tātad katra virkne ir tikai Unicode koda punktu secība.

Lai efektīvi uzglabātu šīs virknes, koda punktu secība tiek pārveidota par baitu kopu. Process ir pazīstams kā kodēšana .

Pastāv dažādi kodējumi, kas atšķirīgi izturas pret virkni. Populārie kodējumi ir utf-8 , ascii utt.

Izmantojot virknes encode()metodi, jūs varat pārveidot nekodētas virknes jebkuros kodējumos, kurus atbalsta Python. Pēc noklusējuma Python izmanto kodēšanu utf-8 .

Metodes sintakse encode()ir:

 string.encode (kodējums = 'UTF-8', kļūdas = 'stingrs')

String encode () Parametri

Pēc noklusējuma encode()metodei nav nepieciešami parametri.

Tas atgriež virknes kodēto versiju utf-8. Neveiksmes gadījumā tas rada UnicodeDecodeErrorizņēmumu.

Tomēr tam nepieciešami divi parametri:

  • kodējums - kodēšanas tips, uz kuru jānosaka virkne
  • kļūdas - atbilde, kad kodēšana neizdodas. Ir seši kļūdu reakcijas veidi
    • stingra - noklusējuma atbilde, kas izraisa UnicodeDecodeError izņēmumu par kļūmi
    • ignorēt - ignorē kodējamo unikodu no rezultāta
    • aizstāt - aizstāj nekodējamo unikodu pret jautājuma zīmi ?
    • xmlcharrefreplace - kodējamā unikoda vietā ievieto XML rakstzīmju atsauci
    • backslashreplace - kodējama unikoda vietā ievieto uNNNN evakuācijas secību
    • namereplace - kodējama unikoda vietā ievieto N (…) evakuācijas secību

1. piemērs: kodēšana pēc noklusējuma Utf-8 kodējuma

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

Rezultāts

Stīga ir: pythön! Kodētā versija ir: b'pyth xc3 xb6n! '

2. piemērs: kodēšana ar kļūdas parametru

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

Rezultāts

Stīga ir: pythön! Kodētā versija (ar ignorēšanu) ir: b'pythn! ' Kodētā versija (ar aizstāt) ir: b'pyth? N! '

Piezīme. Izmēģiniet arī dažādus kodēšanas un kļūdu parametrus.

Interesanti raksti...