Codifica stringa Python ()

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 UnicodeDecodeErrorun'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.

Articoli interessanti...