正是標題所說的。如何找出Python是否使用UCS-2或UCS-4進行編譯?
$ ./configure --help | grep -i ucs
--enable-unicode[=ucs[24]]
搜索的官方文檔,我發現這一點:
sys.maxunicode:一個整數,一個 Unicode字符的 最大支持的代碼點。此 的值取決於配置選項 ,該選項指定是否將Unicode 字符存儲爲UCS-2或 UCS-4。
這裏不清楚的是 - 哪些值對應於UCS-2和UCS-4。
該代碼預計適用於Python 2.6+。
這對於Python 3來說並不是普遍正確的。請參閱https://docs.python.org/3.4/c-api/unicode.html:自Python 3.3中實現PEP 393以來,Unicode對象在內部使用各種各樣的表示'。 https://www.python.org/dev/peps/pep-0393/ – 2015-10-12 09:40:15
@ Jan-PhilipGehrcke:'weakient_unicode_build =(sys.maxunicode <0x10ffff)'適用於任何Python版本(即使使用靈活的內部表示法'sys.maxunicode == 0x10ffff')。靈活的表示方式可以獲得正確的結果,例如ucs4在以前的版本中所做的,同時在某些情況下使用的內存少於ucs4。 – jfs 2016-03-05 19:11:44