5

PHP中有多字节字符串函数来处理多字节字符串(例如:CJK脚本)。例如,我想通过len在python中使用函数来计算多字节字符串中有多少个字母,但它返回的结果不准确(即这个字符串中的字节数)

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。您正在处理 utf-8 编码的字符串,它确实有 21 个字节。

于 2011-12-01T18:50:02.820 回答