문자의 ASCII 값을 구하는 방법

파이썬]2에서 문자의 ASCII 값을 int로 가져오려면 어떻게 하나요?

해결책

여기에서 여기로 이동합니다:

함수 ord()는 정숫값을 가져옵니다. 를 가져옵니다. 그리고 원할 경우 를 가지고 놀다가 다시 변환하려면 숫자를 가지고 놀다가 다시 변환하고 싶다면 chr() 함수를 사용하면 됩니다.

>>> ord('a')
97
>>> chr(97)
'a'
>>> chr(ord('a') + 3)
'd'
>>>

파이썬 2에는 unichr 함수도 있는데, 이 함수는 서수를 unichr 인수로 하는 유니코드 문자를 반환합니다:

>>> unichr(97)
u'a'
>>> unichr(1234)
u'\u04d2'

파이썬 3에서는 unichr 대신 chr을 사용할 수 있습니다.


ord() - 파이썬 3.6.5rc1 문서

ord() - Python 2.7.14 문서

해설 (6)

'ord()는 문자가 어떤 인코딩을 사용하든 그 자체로 ASCII 값을 반환하는 것이 아니라 문자의 숫자 값을 반환한다는 점에 유의하세요. 따라서ord('ä')의 결과는 라틴-1을 사용하는 경우 228이 될 수 있고, UTF-8을 사용하는 경우TypeError`를 발생시킬 수 있습니다. 유니코드를 전달하면 유니코드 코드 포인트를 대신 반환할 수도 있습니다:

>>> ord(u'あ')
12354
해설 (2)

찾고 있는 항목입니다:

ord()
해설 (0)

하지만, 정확한 답이 있는 것이 더 효율적인 방법으로 수락됨 영리한 / bunch of ASCII 문자를 ASCII 코드 변환할지 하는 경우 이 전체를 한 번에 한 것이다. 대신 하고 있다.

for ch in mystr:
    code = ord(ch)

또는 조금 더 빠르게:

for code in map(ord, mystr):

는 파이썬 코드를 변환할 수 있는 기본 유형이 직접. # 39 의 파이썬 3, it& 대한 사소한:

for code in mystr.encode('ascii'):

39 만 it& 및 ideastorm. 2.6/2.7, 파이썬, s, t # 39 투명지에 Py3 스타일 때문에 조금 더 doesn& 관련된 '바이트입니다' 객체에는 '바이트입니다' 는 ',' 에서 가져온 앨리어스를 str 있는 문자) 를 가지고 있지만, 'bytearray':

# If mystr is definitely str, not unicode
for code in bytearray(mystr):

# If mystr could be either str or unicode
for code in bytearray(mystr, 'ascii'):

기본적으로 의해 가져온 것이 훨씬 더 빠르게, 서수 고말은 변환 댁이라면 인코딩입니다 유형으로 모두 국내 실험을 사용하여 ASCII 코드 '와' a '는 str, 반복 Py3.5 Py2.7 afaq 매핑해야 (ord, 미스트)' 가 '렌' 10 '에 관한 한 두 배 정도 오프하도록 str' 또는 '미스트리니고데 Py2 bytearray (미스트)' 를 사용하는 것보다 ' (& # 39, ascii& # 39;)' 를 얻을 수 있는 만큼 더 이상 ',', '승수입니다 Py3 str (ord, 미스트)' 을 지불한 매핑해야 6.5x-7x. 다 ~

그 결과 한 번에요 변환은 유일한 문제 때문에 좀 더 오래 걸릴 수 있으며, 그리고 '처음' 비율에 따라 '/' '정말 엄청난 str 갖고 있지 않는 한, 하지만 이렇게 큰 임시 bytearray' 로 대승을 바이트입니다 너회는 페이지, t # 39 이 isn& 것으로 문제가 아니었다.

해설 (0)

Afaq 문자의 ASCII 코드 "'ord ()' '기능을 사용할 수 있습니다.

예를 들어보겠습니다 코드: "' 값 = 입력 (&quot 고객의 가치를 같습니다. ") 목록 = [ord (ch) 를 ch 의 값을] 보기인쇄 (목록) "' 출력: "' 고객의 가치를 있습니다. qwerty 자판 [113, 114, 116, 121, 119, 101]

해설 (0)