首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何确定Python是使用UCS-2还是UCS-4编译的?

如何确定Python是使用UCS-2还是UCS-4编译的?
EN

Stack Overflow用户
提问于 2009-09-18 19:06:49
回答 7查看 41.8K关注 0票数 64

就像标题所说的那样。

代码语言:javascript
复制
$ ./configure --help | grep -i ucs
  --enable-unicode[=ucs[24]]

搜索官方文档,我发现了以下内容:

Unicode :一个整数,给出了

字符支持的最大码位。其Unicode值取决于指定将字符存储为UCS-2还是UCS-4的配置选项。

这里不清楚的是,哪些值对应于UCS-2和UCS-4。

该代码有望在Python 2.6+上运行。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-09-18 19:33:45

当使用--enable-unicode=ucs4构建时:

代码语言:javascript
复制
>>> import sys
>>> print sys.maxunicode
1114111

当使用--enable-unicode=ucs2构建时:

代码语言:javascript
复制
>>> import sys
>>> print sys.maxunicode
65535
票数 126
EN

Stack Overflow用户

发布于 2009-09-18 19:20:44

对于UCS-2为0xFFFF (或65535),对于UCS-4为0x10FFFF (或1114111):

代码语言:javascript
复制
Py_UNICODE
PyUnicode_GetMax(void)
{
#ifdef Py_UNICODE_WIDE
    return 0x10FFFF;
#else
    /* This is actually an illegal character, so it should
       not be passed to unichr. */
    return 0xFFFF;
#endif
}

UCS-4模式中的最大字符数由UTF-16中可表示的最大值定义。

票数 19
EN

Stack Overflow用户

发布于 2009-09-20 02:50:12

我曾经遇到过同样的问题。我在我的wiki上记录了它,地址是

http://arcoleo.org/dsawiki/Wiki.jsp?page=Python%20UTF%20-%20UCS2%20or%20UCS4

我写了-

代码语言:javascript
复制
import sys
sys.maxunicode > 65536 and 'UCS4' or 'UCS2'
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1446347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档