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?

Était-ce utile?

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
scroll top