Convertir une chaîne en Unicode en Python

Muhammad Maisam Abbas 30 janvier 2023
  1. Convertir des chaînes en Unicode en Python 2
  2. Convertir des chaînes au format Unicode en Python 3
Convertir une chaîne en Unicode en Python

Ce tutoriel discutera de la conversion de chaînes régulières en chaînes Unicode en Python.

Convertir des chaînes en Unicode en Python 2

En Python 2, les chaînes régulières sont appelées chaînes d’octets et nous pouvons utiliser la fonction intégrée unicode() pour convertir ces chaînes d’octets en une chaîne Unicode. Cet extrait de code nous montre comment nous pouvons convertir une chaîne normale en une chaîne Unicode en Python 2.

regular = "regular string"
unicode_string = unicode(regular, "utf-8")
print(type(regular))
print(type(unicode_string))

Production :

<type 'str'>
<type 'unicode'>

Nous avons converti la chaîne d’octets régulière en une chaîne Unicode avec la fonction unicode() en Python 2.

Convertir des chaînes au format Unicode en Python 3

Dans Python 3, les chaînes sont des chaînes Unicode par défaut et nous n’avons aucune méthode pour convertir une chaîne normale en chaîne Unicode. Par conséquent, le code suivant donne des résultats différents sur Python 2 et Python 3.

regular = "regular string"
unicode_string = u"Unicode string"
print(type(regular))
print(type(unicode_string))

Sortie Python 2 :

<type 'str'>
<type 'unicode'>

Sortie Python 3 :

<class 'str'>
<class 'str'>

Dans le code ci-dessus, nous initialisons une chaîne Unicode en Python 2 et Python 3. En Python 2, la chaîne appartient à la classe unicode car il y a une différence entre les chaînes régulières et les chaînes Unicode, alors qu’en Python 3, la chaîne appartient à la classe str. Après tout, les chaînes Unicode sont identiques aux chaînes normales.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn