Python-merkkijonokoodaus ()

String encode () -menetelmä palauttaa annetun merkkijonon koodatun version.

Python 3.0: sta lähtien merkkijonot tallennetaan Unicode-koodina, eli merkkijonon jokaista merkkiä edustaa koodipiste. Joten jokainen merkkijono on vain Unicode-koodipisteiden sarja.

Näiden merkkijonojen tehokkaan tallennuksen varmistamiseksi koodipisteiden sekvenssi muunnetaan tavuiksi. Prosessi tunnetaan koodauksena .

On olemassa useita koodauksia, jotka käsittelevät merkkijonoa eri tavalla. Suosittuja koodauksia ovat utf-8 , ascii jne.

Merkkijonomenetelmää käyttämällä encode()voit muuntaa koodaamattomat merkkijonot mihin tahansa Pythonin tukemiin koodauksiin. Oletuksena Python käyttää utf-8- koodausta.

Menetelmän syntaksi encode()on:

 string.encode (koodaus = 'UTF-8', virheet '' tiukka '')

Merkkijono koodaa () parametrit

Oletusarvoisesti encode()menetelmä ei vaadi parametreja.

Se palauttaa merkkijonon koodatun version utf-8. Epäonnistumisen yhteydessä se aiheuttaa UnicodeDecodeErrorpoikkeuksen.

Siihen tarvitaan kuitenkin kaksi parametria:

  • koodaus - merkkijonon koodaustyyppi on koodattava
  • virheet - vastaus koodauksen epäonnistumisen yhteydessä. Virhereaktioita on kuusi tyyppiä
    • tiukka - oletusvaste, joka aiheuttaa UnicodeDecodeError-poikkeuksen epäonnistumisesta
    • ohita - ohittaa koodaamattoman unicoden tuloksesta
    • korvaa - korvaa koodaamattoman unicoden kysymysmerkiksi ?
    • xmlcharrefreplace - lisää XML-merkkiviitteen koodaamattoman unicoden sijaan
    • backslashreplace - lisää uNNNN-pakosarjan koodaamattoman unicode-koodin sijaan
    • namereplace - lisää N (…) pakosarjan koodaamattoman unicode-koodin sijaan

Esimerkki 1: Koodaaminen Utf-8-oletuskoodaukseksi

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

Tuotos

Merkkijono on: pythön! Koodattu versio on: b'pyth xc3 xb6n! '

Esimerkki 2: Koodaus virheparametrilla

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

Tuotos

Merkkijono on: pythön! Koodattu versio (ohittamatta) on: b'pythn! ' Koodattu versio (korvattavalla) on: b'pyth? N! '

Huomaa: Kokeile myös erilaisia ​​koodaus- ja virheparametreja.

Mielenkiintoisia artikkeleita...