Encode de chaîne Python ()

La méthode string encode () renvoie la version codée de la chaîne donnée.

Depuis Python 3.0, les chaînes sont stockées au format Unicode, c'est-à-dire que chaque caractère de la chaîne est représenté par un point de code. Ainsi, chaque chaîne n'est qu'une séquence de points de code Unicode.

Pour un stockage efficace de ces chaînes, la séquence de points de code est convertie en un ensemble d'octets. Le processus est connu sous le nom de codage .

Il existe différents encodages qui traitent une chaîne différemment. Les encodages populaires étant utf-8 , ascii , etc.

À l'aide de la encode()méthode string , vous pouvez convertir des chaînes unicodées en n'importe quel encodage pris en charge par Python. Par défaut, Python utilise le codage utf-8 .

La syntaxe de la encode()méthode est:

 string.encode (encoding = 'UTF-8', errors = 'strict')

Paramètres de String encode ()

Par défaut, la encode()méthode ne nécessite aucun paramètre.

Il renvoie la version encodée en utf-8 de la chaîne. En cas d'échec, il déclenche une UnicodeDecodeErrorexception.

Cependant, il faut deux paramètres:

  • encoding - le type d'encodage dans lequel une chaîne doit être encodée
  • erreurs - réponse en cas d'échec de l'encodage. Il existe six types de réponse d'erreur
    • strict - réponse par défaut qui déclenche une exception UnicodeDecodeError en cas d'échec
    • ignore - ignore le code unicode non codable du résultat
    • replace - remplace le code unicode non codable par un point d'interrogation ?
    • xmlcharrefreplace - insère une référence de caractère XML au lieu d'un unicode non codable
    • backslashreplace - insère une séquence d'échappement uNNNN au lieu d'un unicode non codable
    • namereplace - insère une séquence d'échappement N (…) au lieu d'un unicode non codable

Exemple 1: encoder au codage Utf-8 par défaut

 # 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) 

Production

La corde est: pythön! La version encodée est: b'pyth xc3 xb6n! '

Exemple 2: codage avec paramètre d'erreur

 # 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")) 

Production

La corde est: pythön! La version encodée (avec ignore) est: b'pythn! ' La version encodée (avec remplacement) est: b'pyth? N! '

Remarque: essayez également différents paramètres de codage et d'erreur.

Articles intéressants...