python2.7如何处理unicode?我越来越困惑

时间:2011-11-26 07:59:33

标签: python unicode

在linux中,我打开终端并输入 python2.7 ,然后按如下方式输入代码:

>>> s = u'\u0561'
>>> print s
ա
>>> len(s)
1

u'\ u0561'的长度只有1?为什么?我了解到每个非字母字符的长度在unicode中是2~4个字节,为什么它只使用1个字节?我测试了其他unicode字符,我发现几乎所有unicode字符的长度都是1,为什么?

3 个答案:

答案 0 :(得分:7)

len函数不计算字节数 - 它计算任何序列中的项目数(在本例中为字符串中的字符数)。

答案 1 :(得分:1)

  

u'\ u0561'的长度只有1?为什么呢?

因为ա是一个字符。

换句话说,出于同样的原因,len()的{​​{1}}为1:因为['hi mom this is an incredibly long string']是一个列表项。

答案 2 :(得分:0)

它给你的是字符长度,而不是字节。

\u0561

这是一个字符,所以长度是一个。