Il metodo string encode () restituisce la versione codificata della stringa data.
A partire da Python 3.0, le stringhe vengono memorizzate come Unicode, ovvero ogni carattere nella stringa è rappresentato da un punto di codice. Quindi, ogni stringa è solo una sequenza di punti di codice Unicode.
Per una memorizzazione efficiente di queste stringhe, la sequenza di punti di codice viene convertita in un insieme di byte. Il processo è noto come codifica .
Sono presenti varie codifiche che trattano una stringa in modo diverso. Le codifiche popolari sono utf-8 , ascii , ecc.
Usando il encode()
metodo di stringa , puoi convertire stringhe unicoded in qualsiasi codifica supportata da Python. Per impostazione predefinita, Python utilizza la codifica utf-8 .
La sintassi del encode()
metodo è:
string.encode (encoding = 'UTF-8', errors = 'strict')
Parametri String encode ()
Per impostazione predefinita, il encode()
metodo non richiede alcun parametro.
Restituisce la versione codificata utf-8 della stringa. In caso di guasto, solleva UnicodeDecodeError
un'eccezione.
Tuttavia, richiede due parametri:
- codifica - il tipo di codifica in cui deve essere codificata una stringa
- errori - risposta quando la codifica fallisce. Esistono sei tipi di risposta all'errore
- rigoroso - risposta predefinita che solleva un'eccezione UnicodeDecodeError in caso di errore
- ignora: ignora l'unicode non codificabile dal risultato
- sostituire: sostituisce l'unicode non codificabile con un punto interrogativo ?
- xmlcharrefreplace: inserisce un riferimento a caratteri XML invece di un unicode non codificabile
- backslashreplace - inserisce una sequenza di escape uNNNN invece di un unicode non codificabile
- namereplace - inserisce una sequenza di escape N (…) invece di un unicode non codificabile
Esempio 1: codifica sulla codifica Utf-8 predefinita
# 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)
Produzione
La stringa è: pythön! La versione codificata è: b'pyth xc3 xb6n! '
Esempio 2: codifica con parametro di errore
# 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"))
Produzione
La stringa è: pythön! La versione codificata (con ignore) è: b'pythn! ' La versione codificata (con sostituzione) è: b'pyth? N! '
Nota: prova anche diversi parametri di codifica e di errore.