„Python“ eilutės kodavimas ()

String encode () metodas pateikia nurodytos eilutės koduotą versiją.

Nuo „Python 3.0“ eilutės saugomos kaip „Unicode“, ty kiekvieną eilutės simbolį žymi kodo taškas. Taigi, kiekviena eilutė yra tik „Unicode“ kodo taškų seka.

Kad šios eilutės būtų saugomos, kodo taškų seka paverčiama baitų rinkiniu. Šis procesas yra žinomas kaip kodavimas .

Yra įvairių kodavimų, kurie eilutę traktuoja skirtingai. Populiariausios koduotės yra utf-8 , ascii ir kt.

Naudodami eilutės encode()metodą, galite nekoduotas eilutes paversti bet kokiomis „Python“ palaikomomis koduotėmis. Pagal numatytuosius nustatymus „Python“ naudoja kodavimą utf-8 .

encode()Metodo sintaksė yra:

 string.encode (kodavimas = 'UTF-8', klaidos = 'griežtas')

String encode () Parametrai

Pagal numatytuosius nustatymus encode()metodui nereikia jokių parametrų.

Jis grąžina užkoduotą eilutės versiją „utf-8“. Nesėkmės atveju tai kelia UnicodeDecodeErrorišimtį.

Tačiau tam reikia dviejų parametrų:

  • kodavimas - kodavimo tipas, į kurį turi būti užkoduota eilutė
  • klaidos - atsakymas nepavykus koduoti. Yra šeši atsakymo į klaidą tipai
    • griežtas - numatytasis atsakymas, kuris sukelia „UnicodeDecodeError“ išimtį dėl gedimo
    • ignoruoti - ignoruoja nekoduojamą unicode iš rezultato
    • pakeisti - nekoduojamą unikalųjį kodą pakeičia klaustuku ?
    • xmlcharrefreplace - vietoj nekoduojamo unicode įterpia XML simbolių nuorodą
    • backslashreplace - vietoj nekoduojamo unicode įterpia uNNNN pabėgimo seką
    • vardo vieta - įterpia N (…) pabėgimo seką vietoj nekoduojamo unicode

1 pavyzdys: koduoti į numatytąjį „Utf-8“ kodavimą

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

Rezultatas

Styga yra: pythön! Užkoduota versija yra: b'pyth xc3 xb6n! '

2 pavyzdys: kodavimas naudojant klaidos parametrą

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

Rezultatas

Styga yra: pythön! Užkoduota versija (su ignoravimu) yra: b'pythn! ' Užkoduota versija (su pakeitimu) yra: b'pyth? N! '

Pastaba: taip pat išbandykite skirtingus kodavimo ir klaidų parametrus.

Įdomios straipsniai...