O método encode () da string retorna a versão codificada da string fornecida.
Desde o Python 3.0, as strings são armazenadas como Unicode, ou seja, cada caractere na string é representado por um ponto de código. Portanto, cada string é apenas uma sequência de pontos de código Unicode.
Para armazenamento eficiente dessas strings, a sequência de pontos de código é convertida em um conjunto de bytes. O processo é conhecido como codificação .
Existem várias codificações presentes que tratam uma string de forma diferente. As codificações populares são utf-8 , ascii , etc.
Usando o encode()
método de string , você pode converter strings não codificadas em qualquer codificação compatível com Python. Por padrão, Python usa codificação utf-8 .
A sintaxe do encode()
método é:
string.encode (encoding = 'UTF-8', erros = 'estrito')
Parâmetros de string encode ()
Por padrão, o encode()
método não requer nenhum parâmetro.
Ele retorna a versão codificada em utf-8 da string. Em caso de falha, ele levanta uma UnicodeDecodeError
exceção.
No entanto, leva dois parâmetros:
- encoding - o tipo de codificação para o qual uma string deve ser codificada
- erros - resposta quando a codificação falha. Existem seis tipos de resposta de erro
- estrito - resposta padrão que gera uma exceção UnicodeDecodeError em caso de falha
- ignore - ignora o unicode não codificado do resultado
- substituir - substitui o unicode não codificado por um ponto de interrogação ?
- xmlcharrefreplace - insere referência de caractere XML em vez de unicode não codificável
- barra invertida - insere uma sequência de escape uNNNN em vez de unicode não codificável
- namereplace - insere uma sequência de escape N (…) em vez de unicode não codificado
Exemplo 1: Codificar para Codificação Utf-8 Padrão
# 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)
Resultado
A string é: pythön! A versão codificada é: b'pyth xc3 xb6n! '
Exemplo 2: codificação com parâmetro de erro
# 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"))
Resultado
A string é: pythön! A versão codificada (com ignorar) é: b'pythn! ' A versão codificada (com substituição) é: b'pyth? N! '
Nota: Experimente também codificação e parâmetros de erro diferentes.