就像标题所说的那样。
$ ./configure --help | grep -i ucs
--enable-unicode[=ucs[24]]
搜索官方文档,我发现了以下内容:
Unicode :一个整数,给出了
字符支持的最大码位。其Unicode值取决于指定将字符存储为UCS-2还是UCS-4的配置选项。
这里不清楚的是,哪些值对应于UCS-2和UCS-4。
该代码有望在Python 2.6+上运行。
发布于 2009-09-18 19:33:45
当使用--enable-unicode=ucs4构建时:
>>> import sys
>>> print sys.maxunicode
1114111
当使用--enable-unicode=ucs2构建时:
>>> import sys
>>> print sys.maxunicode
65535
发布于 2009-09-18 19:20:44
对于UCS-2为0xFFFF (或65535),对于UCS-4为0x10FFFF (或1114111):
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中可表示的最大值定义。
发布于 2009-09-20 02:50:12
我曾经遇到过同样的问题。我在我的wiki上记录了它,地址是
http://arcoleo.org/dsawiki/Wiki.jsp?page=Python%20UTF%20-%20UCS2%20or%20UCS4
我写了-
import sys
sys.maxunicode > 65536 and 'UCS4' or 'UCS2'
https://stackoverflow.com/questions/1446347
复制相似问题