GAE: len()取字符串长度,中文也算一个字节怎么处理? 我现在是正则取了中文*2 不知道有没简单的方法!?

2011-02-27 14:47:03 +08:00
 vivian
4594 次点击
所在节点    Google App Engine
4 条回复
est
2011-02-27 15:51:12 +08:00
UTF8的中文是3字节
manhere
2011-02-27 16:09:13 +08:00
能不能配合decode encode统一编码后截取?
darasion
2011-02-27 16:41:27 +08:00
如果是unicode保存的东西,一个中文字符就算一个“字节”
如果是utf-8,那就算3个。
如果是GBxxx,就算2个。

Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> len(u'哈哈')
2
>>> len(u'哈哈'.encode('gbk'))
4
>>> len(u'哈哈'.encode('utf-8'))
6
>>>
vivian
2011-02-27 16:45:45 +08:00
@darasion 谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/9037

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX