Comment gérer la chaîne de caractères multi-octets en Python
-
27-10-2019 - |
Question
Il y a des fonctions de chaîne multi-octets en PHP pour poignée chaîne multi-octets (par exemple: Script CJK). Par exemple, je veux compter combien de lettres dans une chaîne multi octets en utilisant la fonction len
en python, mais il retourne un résultat inexact (i.e. nombre d'octets dans cette chaîne)
japanese = "桜の花びらたち"
print japanese
print len(japanese)#return 21 instead of 7
Y at-il emballage ou fonction comme mb_strlen en PHP?
La solution
Utilisez Unicode chaînes :
# Encoding: UTF-8
japanese = u"桜の花びらたち"
print japanese
print len(japanese)
Notez la u
devant la chaîne.
Pour convertir un bytestring en Unicode, utilisez decode
: "桜の花びらたち".decode('utf-8')
Autres conseils
Essayez de convertir à unicode
premier:
print len(japanese.decode("utf-8"))
donne 7. Vous travaillez sur la chaîne encodée utf-8, qui a en effet 21 octets.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow