Metoda string encode () returnează versiunea codificată a șirului dat.
Din Python 3.0, șirurile sunt stocate ca Unicode, adică fiecare caracter din șir este reprezentat de un punct de cod. Deci, fiecare șir este doar o succesiune de puncte de cod Unicode.
Pentru stocarea eficientă a acestor șiruri, secvența punctelor de cod este convertită într-un set de octeți. Procesul este cunoscut sub numele de codificare .
Există diverse codificări prezente care tratează un șir diferit. Codificările populare fiind utf-8 , ascii etc.
Folosind encode()
metoda șirului , puteți converti șirurile unicodate în orice codare acceptată de Python. În mod implicit, Python folosește codificarea utf-8 .
Sintaxa encode()
metodei este:
string.encode (codificare = 'UTF-8', erori = 'strict')
String encode () Parametri
În mod implicit, encode()
metoda nu necesită parametri.
Returnează versiunea codată utf-8 a șirului. În caz de eșec, acesta ridică o UnicodeDecodeError
excepție.
Cu toate acestea, este nevoie de doi parametri:
- codificare - tipul de codificare la care trebuie codat un șir
- erori - răspuns când codarea eșuează. Există șase tipuri de răspuns la eroare
- strict - răspuns implicit care generează o excepție UnicodeDecodeError la eșec
- ignora - ignoră unicode necodificabil din rezultat
- înlocui - înlocuiește unicode necodificabil cu un semn de întrebare ?
- xmlcharrefreplace - inserează referința caracterelor XML în loc de unicode necodificabil
- backslashreplace - inserează o secvență de evadare uNNNN în loc de unicode necodificabil
- namereplace - inserează o secvență de evadare N (…) în loc de unicode necodificabil
Exemplul 1: Codificați la codificarea implicită Utf-8
# 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)
Ieșire
Șirul este: pythön! Versiunea codificată este: b'pyth xc3 xb6n! '
Exemplul 2: Codificare cu parametru de eroare
# 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"))
Ieșire
Șirul este: pythön! Versiunea codificată (cu ignorare) este: b'pythn! ' Versiunea codificată (cu înlocuire) este: b'pyth? N! '
Notă: Încercați și parametri de codare și erori diferiți.