为什么Python Unicode内部格式如PEP 100中所述实现?

时间:2011-11-05 20:53:09

标签: python unicode encoding utf-16 ucs2

http://www.python.org/dev/peps/pep-0100/

PEP 100声明内部格式Python Unicode保存UTF-16编码,但将值作为UCS-2(或使用标记--enable-unicode=ucs4编译时的UCS-4)进行处理。

为什么不选择UTF-16(可变长度格式)而不是UCS-2(固定长度)?

尽管两种编码大致相同,但当PEP-100发布时(3月2000日),UTF-16已经有4年了。 Python Unicode是否意味着解决向后兼容性问题?

我真的很好奇为什么使用这种(貌似)混合方法在内部存储编码数据来实现Python的内部格式?

提出问题的一个更好的方法可能是:是否有人引用或引用官方文件中的引文,明确说明为什么PEP 100选择将UTF-16视为UCS-2而不是使用UTF-16? / p>

1 个答案:

答案 0 :(得分:1)

进一步阅读:“UCS-2和UTF-16对于所有当前定义的Unicode字符点都是相同的”......在编写PEP的2000年就是如此。初始实现仅涵盖BMP(前64K代码点)。