编程语言
首页 > 编程语言> > 为什么Python Unicode内部格式如PEP 100中所述实现?

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

作者:互联网

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?

解决方法:

继续阅读:“对于所有当前定义的Unicode字符点,UCS-2和UTF-16是相同的”……在编写PEP的2000年就是这样.初始实现仅涵盖BMP(前64K代码点).

标签:python,encoding,unicode,utf-16,ucs2
来源: https://codeday.me/bug/20190709/1417786.html