5

PHP には、マルチバイト文字列を処理するためのマルチバイト文字列関数があります (例: CJK スクリプト)。たとえば、lenPython で関数を使用してマルチバイト文字列の文字数を数えたいのですが、不正確な結果 (つまり、この文字列のバイト数) が返されます。

japanese = "桜の花びらたち"
print japanese
print len(japanese)#return 21 instead of 7

PHP に mb_strlen のようなパッケージまたは関数はありますか?

4

2 に答える 2

9

Unicode 文字列を使用:

# Encoding: UTF-8

japanese = u"桜の花びらたち"
print japanese
print len(japanese)

u文字列の前に注意してください。

バイト文字列を Unicode に変換するには、次を使用しますdecode"桜の花びらたち".decode('utf-8')

于 2011-12-01T18:50:48.490 に答える
3

最初に変換してみてくださいunicode

print len(japanese.decode("utf-8"))

7 を返します。実際には 21 バイトの utf-8 でエンコードされた文字列に取り組んでいます。

于 2011-12-01T18:50:02.820 に答える