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 发布时(2000 年 3 月)UTF-16 已经有 4 年历史了。 Python Unicode 是为了解决向后兼容性问题吗?
我真的很好奇为什么 Python 的内部格式是使用这种(看似)混合方法在内部存储编码数据来实现的?
提出我的问题的更好方法可能是:有没有人有官方文档的引文或链接,具体说明了为什么 PEP 100 选择将 UTF-16 视为 UCS-2 而不是使用 UTF-16?
最佳答案
进一步阅读:“UCS-2 和 UTF-16 对于所有当前定义的 Unicode 字符点都是相同的”……在编写 PEP 的 2000 年时确实如此。初始实现仅涵盖 BMP(前 64K 代码点)。
关于python - 为什么 Python Unicode 内部格式按照 PEP 100 中的描述实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023198/