복붙노트

[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. ==============================

    1.--enable-unicode = ucs4로 빌드 된 경우 :

    --enable-unicode = ucs4로 빌드 된 경우 :

    >>> import sys
    >>> print sys.maxunicode
    1114111
    

    --enable-unicode = ucs2로 빌드 된 경우 :

    >>> import sys
    >>> print sys.maxunicode
    65535
    
  2. ==============================

    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. ==============================

    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. ==============================

    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. ==============================

    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. ==============================

    6.또 다른 방법은 유니 코드 배열을 만들고 itemsize를 보는 것입니다.

    또 다른 방법은 유니 코드 배열을 만들고 itemsize를 보는 것입니다.

    import array
    bytes_per_char = array.array('u').itemsize
    

    배열에서 따옴표 docs :

    좁고 넓은 유니 코드 빌드의 차이점은 Python 3.3 이후로 떨어졌습니다 (PEP393 참조). 배열에 대한 'u'타입 코드는 3.3 이후로 사용되지 않으며 Python 4.0에서 삭제 될 예정입니다.

  7. ==============================

    7.65535는 UCS-2 :

    65535는 UCS-2 :

  8. 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