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 UnicodeDecodeError
poikkeuksen.
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.