http://www.python.org/dev/peps/pep-0100/
PEP 100 声明内部格式 Python Unicode 保存 UTF-16 编码,但将值寻址为 UCS-2(或使用 flag 编译时的 UCS-4 --enable-unicode=ucs4
)。
为什么不选择 UTF-16(可变长度格式)而不是 UCS-2(固定长度)?
尽管这两种编码基本相同,但当 PEP-100 发布时(2000 年 3 月),UTF-16 已经有 4 年的历史了。Python Unicode 是否旨在解决向后兼容性问题?
我真的很好奇为什么 Python 的内部格式是使用这种(看似)混合方法在内部存储编码数据来实现的?
提出我的问题的更好方法可能是:是否有人引用官方文件中的引用或链接,具体说明为什么 PEP 100 选择将 UTF-16 视为 UCS-2 而不是使用 UTF-16?