相关疑难解决方法(0)

Python中的Unicode

在Python 2.7的文档中,有关Unicode的三条规则描述如下:

如果代码点<128,则由相应的字节值表示.

如果代码点在128和之间0x7ff,则它变成128到255之间的两个字节值.

代码点> 0x7ff被转换为三字节或四字节序列,其中序列的每个字节在128和255之间.

然后我做了一些测试:

>>>> unichr(40960)

u'\ua000'

>>> ord(u'\ua000')

40960
Run Code Online (Sandbox Code Playgroud)

在我看来,40960是一个代码点> 0x7ff,所以它应该变成三个或四个字节的序列,其中序列的每个字节在128到255之间,但它只能变成两个字节的序列,并且u'\ a000'中的值'00'低于128,与上述规则不匹配.为什么?

更重要的是,我发现了一些更多的Unicode字符,比如u'\u1234'等.我发现它中的值("12"&&"34")也低于128,但根据首先提到的理论,它们不应该是低于128.我失去了任何其他理论?

谢谢你的所有答案.

python unicode

-2
推荐指数
1
解决办法
916
查看次数

标签 统计

python ×1

unicode ×1