Type de chaîne Python2

Python2 a deux types de chaînes, str et ʻunicode. Normalement, vous devriez utiliser le type ʻunicode.

type de str

Il est correct (je pense) que «str» est une chaîne d'octets plutôt qu'une chaîne de caractères.

aiueo = 'AIUEO'
#A ce moment, aiueo devient de type str

len(aiueo)
#Combien dépendra de l'encodage du fichier
#Par exemple, utf-S'il est 8, il devient 15 et change_Si c'est jis, ce sera 10.

type unicode

Le type ʻunicode` enregistre le caractère comme UCS-2 (ou UCS-4). Pour utiliser des caractères de la plage UCS-4, vous devez le spécifier lors de la compilation de Python.

aiueo = u'AIUEO'
#A ce moment, aiueo devient de type unicode

len(aiueo)
#Devenez 5 dans n'importe quel environnement

encoder et décoder

Vous pouvez le convertir en type ʻunicode en appelant la méthode decodede typestr. Inversement, vous pouvez le convertir en un type str en appelant la méthode ʻencode du type ʻunicode`.

aiueo = u'AIUEO'

aiueo_utf8 = aiueo.encode('utf-8')
aiueo_shiftjis = aiueo.encode('shift_jis')

print isinstance(aiueo_utf8, str) # True
print isinstance(aiueo_shiftjis, str) # True
print len(aiueo_utf8) # 15
print len(aiueo_shiftjis) # 10

print len(aiueo_utf8.decode('utf-8')) # 5
print len(aiueo_shiftjis.decode('shift_jis')) # 5

Passer un encodage incorrect à la méthode decode entraînera une erreur ʻUnicodeDecodeError`.

aiueo_shiftjis.decode('utf-8') #Erreur UnicodeDecodeError

Python3

Il semble que str soit changé en bytes et ʻunicode soit changé en str` dans Python3 parce que c'est déroutant.

référence

Recommended Posts

Type de chaîne Python2
Python # type de chaîne
Python: combinaison de chaînes
tranche de chaîne python
Format de chaîne Python
Inversion de chaîne Python
Cours de base Python (4 types numériques / type chaîne de caractères)
Manipulation de chaîne en python
[Python] Assigner une chaîne sur plusieurs lignes
Maître de manipulation de chaînes Python
[Python2] Chaîne de date → UnixTime → Chaîne de date
Génération de chaînes aléatoires (Python)
Python3> chaîne de documentation / docstring
Python # Vérifier l'identité du type
Illustration de traitement de chaîne Python
[python] Convertir la date en chaîne
Indentation Python et format de chaîne
Python
[Python] Utiliser une séquence de chaînes
Python - Vérifiez le type de valeurs
Diverses opérations de chaîne avec Python intégré
Mémo int de type immuable Python
[Python 2/3] Analyser la chaîne de format
Manipulation de la date des chaînes en Python
Conversion de type de données d'image [Python]
python> datetime> De la chaîne de date (format ISO: 2015-12-09 12:40:08) au type datetime
Caractère f Python (chaîne formatée)
Format de chaîne avec l'opérateur Python%
[Python] Erreur de type: 'in <string>' nécessite une chaîne comme opérande de gauche, pas une liste
Définition du type d'argument de fonction en python
[Français] Type statique Python, incroyable mypy!
Entraine toi! !! Introduction au type Python (conseils de type)
Python pour les super débutants Super débutants Python # dictionnaire type 1
[python] week1-3: Type de nombre et opération
Charger dynamiquement les types json avec python
Type spécifié en python. Lancer des exceptions
6 façons d'enchaîner des objets en Python
[Note personnelle] Type de séquence / type de mappage Python
Maîtriser le type avec Python [compatible Python 3.9]
mappe de traitement de chaîne python et lambda
Créer une chaîne aléatoire en Python
Python pour les super débutants Super débutants Python # dictionnaire type 2
Spécification du fuseau horaire lors de la conversion d'une chaîne de caractères en type datetime avec python
python kafka
Conversion de la chaîne <-> date (date, datetime) en Python
Les bases de Python ⑤
Résumé Python
Python intégré
Technique Python
Étudier Python
Type de coque
Compte à rebours Python 2.7
Mémorandum Python
Réintroduction aux décorateurs Python ~ Apprenons les décorateurs par type ~
[Python] Vérification simple du type d'argument avec la classe de données
astuces python
fonction python ①
Les bases de Python
Mémo Python