Cet article présente principalement des informations pertinentes sur des exemples détaillés de chaînes de traversée Python (y compris les caractères chinois) Les amis dans le besoin peuvent se référer à
Exemples détaillés de chaînes de traversée Python (y compris les caractères chinois)
s = "中国china"
for j in s:
print j
Copier après la connexion
Tout d'abord, quel est l'encodage de votre « a » ? Ce n'est peut-être pas ce que vous pensez gbk
>>> a='中国'
>>> a
Copier après la connexion
Essayez-le comme ça. S'il sort avec 6 mots, cela signifie utf-8. S'il sort avec 4 mots, cela signifie gbk.
De plus, qu'il s'agisse d'utf-8 ou de gbk, il ne peut pas être parcouru de cette manière, car il sera ici retiré mot par mot. La machine virtuelle traite a comme une chaîne d'une longueur de len(a).
La prochaine étape est le problème de traversée.
La plupart des shells Linux sont par défaut en utf-8, donc un caractère chinois correspond à trois caractères, vous devez donc les lire trois par trois. Vous pouvez essayer :
>>> a[:3]
Copier après la connexion
C'est le cas. apparaît sous la forme du caractère "中"
La commande par défaut de Windows est cp936, qui est gbk Un caractère chinois est composé de deux caractères, donc deux caractères sont lus comme deux caractères (a[: 2]) .
Il existe une autre façon de parcourir, de convertir la chaîne en Unicode, de sorte que le chinois et l'anglais soient un seul mot, et vous pouvez utiliser votre for i dans une méthode de traversée. L'avantage est que les caractères chinois et anglais ne forment qu'un seul mot, alors qu'en utf-8 et gbk, les lettres anglaises n'occupent qu'un seul mot.
s = u"中国china"
for j in s:
print j
Copier après la connexion
Le résultat est le suivant :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!