Python String encode ()

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 UnicodeDecodeErrorexceçã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.

Artigos interessantes...