Pythonでマルチバイト文字列を処理する方法
-
27-10-2019 - |
質問
Multibyte String(例:CJKスクリプト)を処理するために、PHPにマルチバイト文字列関数があります。たとえば、マルチバイトの文字列にある文字列の数を使用して数えたいと思います。 len
Pythonで機能しますが、不正確な結果を返します(つまり、この文字列のバイト数)
japanese = "桜の花びらたち"
print japanese
print len(japanese)#return 21 instead of 7
PHPにMB_STRLENのようなパッケージや機能はありますか?
解決
使用する ユニコード文字列:
# Encoding: UTF-8
japanese = u"桜の花びらたち"
print japanese
print len(japanese)
注意してください u
文字列の前に。
バイテストリングをUnicodeに変換するには、使用します decode
: "桜の花びらたち".decode('utf-8')
他のヒント
に変換してみてください unicode
最初:
print len(japanese.decode("utf-8"))
7を与えます。あなたは、実際に21バイトのUTF-8エンコードされた文字列で作業しています。
所属していません StackOverflow