>  기사  >  백엔드 개발  >  Python의 chr, unihr, ord 문자 함수 비교

Python의 chr, unihr, ord 문자 함수 비교

高洛峰
高洛峰원래의
2017-03-02 11:26:092118검색

파이썬에서 문자형 변환에는 chr, unihr, ord를 모두 사용할 수 있습니다. 여기서는 파이썬에서 chr, unihr, ord 문자 함수의 비교에 대해 간략하게 설명하겠습니다.

  • ord는 unicode ordinal의 약어, 즉 숫자

  • chr은 문자의 약어, 즉 문자

  • ord와 chr은 그에 맞게 변환됩니다.

  • 하지만 chr은 ASCII로 제한되어 있으므로 길이가 256자에 불과하므로 추가로 unicr이 있습니다.

>>c = u'康'

>>c
u'\u5eb7'
>>ord(c)
24747
>>chr(24247)
ValueError: chr() arg not in range(256)
>>unichr(24247)
u'\u5eb7'

chr() 함수는 (256) 범위(즉, 0~255)의 정수를 매개변수로 받아서 반환합니다. 해당 캐릭터. unicr()은 유니코드 문자를 반환한다는 점을 제외하면 동일합니다. Python 2.0에서 추가된 unihr()의 매개 변수 범위는 Python이 컴파일된 방식에 따라 다릅니다. USC2로 구성된 유니코드인 경우 허용 범위는 범위(65536) 또는 0x0000-0xFFFF이고, UCS4로 구성된 경우 이 값은 범위(1114112) 또는 0x000000-0x110000이어야 합니다. 제공된 매개변수가 허용된 범위 내에 있지 않으면 ValueError 예외가 보고됩니다.
ord() 함수는 chr() 함수(8비트 ASCII 문자열의 경우) 또는 unihr() 함수(유니코드 객체의 경우)의 쌍을 이루는 함수입니다. 이 함수는 한 문자(길이 1의 문자열)를 사용합니다. 매개변수는 해당 ASCII 값 또는 유니코드 값을 반환합니다. 주어진 유니코드 문자가 Python 정의 범위를 초과하면 TypeError 예외가 발생합니다.

>>> chr(65)
'A'
>>> ord('a')
97
>>> unichr(12345)
u'\u3039'
>>> chr(12345)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?  
   chr(12345)
ValueError: chr() arg not in range(256)
>>> ord(u&#39;\ufffff&#39;)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
   ord(u&#39;\ufffff&#39;)
TypeError: ord() expected a character, but string of length 2 found
>>> ord(u&#39;\u2345&#39;)
9029


Python의 chr, unihr, ord 문자 함수 비교와 관련된 추가 기사를 보려면 다음을 참조하세요. PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.