[PYTHON] 파이썬이 UCS-2 또는 UCS-4로 컴파일되었는지 확인하는 방법은 무엇입니까?
PYTHON파이썬이 UCS-2 또는 UCS-4로 컴파일되었는지 확인하는 방법은 무엇입니까?
제목에서 말하는대로.
$ ./configure --help | grep -i ucs
--enable-unicode[=ucs[24]]
공식 문서를 검색했을 때, 나는 이것을 발견했다.
여기서 명확하지 않은 것은 UCS-2 및 UCS-4에 해당하는 값입니다.
이 코드는 Python 2.6 이상에서 작동 할 것으로 예상됩니다.
해결법
-
==============================
1.--enable-unicode = ucs4로 빌드 된 경우 :
--enable-unicode = ucs4로 빌드 된 경우 :
>>> import sys >>> print sys.maxunicode 1114111
--enable-unicode = ucs2로 빌드 된 경우 :
>>> import sys >>> print sys.maxunicode 65535
-
==============================
2.UCS-2의 경우 0xFFFF (또는 65535)이고 UCS-4의 경우 0x10FFFF (또는 1114111)입니다.
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으로 표현할 수있는 최대 값으로 정의됩니다.
-
==============================
3.나는이 같은 문제를 한 번 겪었다. 나는 내 wiki에서 직접 문서화했다.
나는이 같은 문제를 한 번 겪었다. 나는 내 wiki에서 직접 문서화했다.
http://arcoleo.org/dsawiki/Wiki.jsp?page=Python%20UTF%20-%20UCS2%20or%20UCS4
나는 썼다 -
import sys sys.maxunicode > 65536 and 'UCS4' or 'UCS2'
-
==============================
4.sysconfig는 파이썬의 구성 변수에서 유니 코드 크기를 알려줍니다.
sysconfig는 파이썬의 구성 변수에서 유니 코드 크기를 알려줍니다.
buildflags는 이와 같이 질의 될 수 있습니다.
파이썬 2.7 :
import sysconfig sysconfig.get_config_var('Py_UNICODE_SIZE')
파이썬 2.6 :
import distutils distutils.sysconfig.get_config_var('Py_UNICODE_SIZE')
-
==============================
5.나도 똑같은 문제가 있었고 똑같은 문제를 가진 사람들에게 흥미로운 반 공식 코드를 발견했다. https://bitbucket.org/pypa/wheel/src/cf4e2d98ecb1f168c50a6de496959b4a10c6b122/wheel/pep425tags.py ? at = default 및 fileviewer = 파일보기 - 기본값 # pep425tags.py-83 : 89.
나도 똑같은 문제가 있었고 똑같은 문제를 가진 사람들에게 흥미로운 반 공식 코드를 발견했다. https://bitbucket.org/pypa/wheel/src/cf4e2d98ecb1f168c50a6de496959b4a10c6b122/wheel/pep425tags.py ? at = default 및 fileviewer = 파일보기 - 기본값 # pep425tags.py-83 : 89.
그것은 파이썬이 생성 된 바이너리 파일의 이름을 변경하기 때문에 ucs-2 또는 ucs-4로 컴파일되었는지 확인해야하는 휠 프로젝트에서 온 것입니다.
-
==============================
6.또 다른 방법은 유니 코드 배열을 만들고 itemsize를 보는 것입니다.
또 다른 방법은 유니 코드 배열을 만들고 itemsize를 보는 것입니다.
import array bytes_per_char = array.array('u').itemsize
배열에서 따옴표 docs :
좁고 넓은 유니 코드 빌드의 차이점은 Python 3.3 이후로 떨어졌습니다 (PEP393 참조). 배열에 대한 'u'타입 코드는 3.3 이후로 사용되지 않으며 Python 4.0에서 삭제 될 예정입니다.
-
==============================
7.65535는 UCS-2 :
65535는 UCS-2 :
from https://stackoverflow.com/questions/1446347/how-to-find-out-if-python-is-compiled-with-ucs-2-or-ucs-4 by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬 : 목록 색인 범위를 벗어난 오류 (0) | 2018.10.07 |
---|---|
[PYTHON] 파이썬 프로세스 풀 비 데믹? (0) | 2018.10.07 |
[PYTHON] Python에서 "ImportError : No module named ..."오류를 수정하는 방법은 무엇입니까? (0) | 2018.10.07 |
[PYTHON] 파이썬 언어를위한 isPrime 함수 (0) | 2018.10.07 |
[PYTHON] 파이썬에서 프록시를 사용하여 Selenium Webdriver 실행하기 (0) | 2018.10.07 |