作者sbrhsieh (偶尔想摆烂一下)
看板Python
标题Re: [问题] unicode 字串长度
时间Fri Oct 15 09:00:06 2010
※ 引述《yshihyu (yshihyu)》之铭言:
: s = u'有嘴说'
: len(s) <--- 长度6
: u = unicode("有嘴说","big5")
: len(u) <--- 长度3
: s = u'有嘴说' <---这样不能转成unicode?
: type(s) & type(u) 都是unicode 型态但是为什麽长度不一样?
: 谢谢
一般说来:
u'有嘴说'
是可以得到一个长度为 3 的 unicode object(分别存着 '有', '嘴', '说' 三字的
unicode code point)。
但是使用在 Windows 上的 IDLE 时,其结果会不正确,会产生一个 unicode object
长度为 "有嘴说" 三字以特定编码後的 byte sequence 长度,每个 byte value
存在一个 unicode char 中。(使用 Windows DOS console 跑 Python REPL 的话,
则会有正确的行为)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.91.247
1F:→ sbrhsieh:我自己是习惯在 IDLE 使用 "有嘴说".decode('big5')写法 10/15 09:32