当我在Unicode上读到这个Python2's official page时,它说
Under the hood, Python represents Unicode strings as either 16-or 32-bit integers, depending on how the Python interpreter was compiled.
上面这句话是什么意思?这是否意味着Python2有自己独特的Unicode编码?如果是这样,为什么不直接使用UTF-8呢?你知道吗
Tags:
这个语句仅仅意味着有一个使用这两种编码的底层C代码,并且根据具体情况,可以选择任何一种变体。这些情况通常是用户选择、编译器和操作系统。你知道吗
现在,出于可能的理由,有理由不使用UTF-8:
wchar_t
实际上是一种16位类型,因此如果您想使用32位类型,就必须为您自己发明的字符类型重新实现各种函数。放弃对Unicode BMP以上任何内容的支持,或者将代理序列泄漏到pythonapi中,都是一个合理的折衷方案(但不幸的是,这种折衷方案仍然存在)。你知道吗注意,这些都是可能的原因,我并不认为这些适用于Python的实现。你知道吗
相关问题 更多 >
编程相关推荐