Maison  >  Article  >  développement back-end  >  Conversion du type d'encodage Python

Conversion du type d'encodage Python

高洛峰
高洛峰original
2017-03-01 13:32:001102parcourir

L'exemple de cet article décrit la méthode de conversion du type d'encodage Python. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1 : Python et Unicode

Afin de gérer correctement les textes multilingues, Python a été introduit après la version 2.0 de la chaîne Unicode.

2 : imprimer en python

Bien que Python doive en interne convertir l'encodage du texte en encodage Unicode pour le traitement, le travail d'affichage du terminal est effectué par des chaînes Python traditionnelles (dans En fait, l'instruction print de Python ne peut pas du tout imprimer les caractères codés en Unicode sur deux octets).

L'impression de Python effectuera automatiquement la conversion de l'encodage sur l'encodage Unicode de sortie (pour les autres encodages non Unicode, l'impression l'affichera tel quel) (lors de la sortie vers la console), mais la méthode d'écriture de l'objet fichier le fera ne le faites pas. Par conséquent, lorsque certaines chaînes sont sorties normalement par impression, l'écriture dans le fichier n'est pas nécessairement la même chose que l'impression.

Sous Linux, il est converti en fonction des variables d'environnement. Vous pouvez le voir en utilisant la commande locale sous Linux. La mise en œuvre de l'instruction d'impression consiste à transmettre le contenu à sortir au système d'exploitation, et le système d'exploitation encodera le flux d'octets d'entrée en fonction de l'encodage du système.

>>>str='学习python'
>>> str
'\xe5\xad\xa6\xe4\xb9\xa0python' #asII编码
>>> print str
学习python
>>> str=u'学习python'
>>> str       ####unicode编码
'\xe5u\xad\xa6\xe4\xb9\xa0python'

3 : décoder en python

convertir d'autres jeux de caractères en codage Unicode (seuls les caractères chinois ont besoin à convertir)

>>> str='学习'
>>> ustr=str.decode('utf-8')
>>> ustr
u'\u5b66\u4e60'

De cette façon, les caractères chinois sont codés et convertis, et python peut être utilisé pour un traitement ultérieur (s'il n'est pas converti ; , python La conversion de l'encodage par défaut sera effectuée en fonction des variables d'environnement de la machine, de sorte que des caractères tronqués peuvent apparaître)

4 : encoder en python

Convertir l'Unicode en d'autres jeux de caractères

>>> str='学习'
>>> ustr=str.decode('utf-8')
>>> ustr
u'\u5b66\u4e60'
>>> ustr.encode('utf-8')
'\xe5\xad\xa6\xe4\xb9\xa0'
>>> print ustr.encode('utf-8')
学习

Pour plus d'articles liés à la conversion du type d'encodage Python, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn