[PYTHON] 문자의 ASCII 값을 얻는 방법?
PYTHON문자의 ASCII 값을 얻는 방법?
파이썬에서 문자의 ASCII 값을 int로 가져 오는 방법은 무엇입니까?
해결법
-
==============================
1.여기에서:
여기에서:
>>> ord('a') 97 >>> chr(97) 'a' >>> chr(ord('a') + 3) 'd' >>>
파이썬 2에는 unichr 함수도 있으며, ordinal이 unichr 인수 인 유니 코드 문자를 반환합니다.
>>> unichr(97) u'a' >>> unichr(1234) u'\u04d2'
파이썬 3에서는 unichr 대신 chr을 사용할 수 있습니다.
ord () - 파이썬 3.6.5rc1 문서
ord () - Python 2.7.14 문서
-
==============================
2.ord ()는 ASCII 값 자체를 제공하지는 않습니다. Latin-1을 사용하고 있다면 ord ( 'ä')의 결과는 228이 될 수 있고, UTF-8을 사용하고 있다면 TypeError를 발생시킬 수 있습니다. 8. 유니 코드를 전달하는 대신 유니 코드 코드 포인트를 반환 할 수도 있습니다.
ord ()는 ASCII 값 자체를 제공하지는 않습니다. Latin-1을 사용하고 있다면 ord ( 'ä')의 결과는 228이 될 수 있고, UTF-8을 사용하고 있다면 TypeError를 발생시킬 수 있습니다. 8. 유니 코드를 전달하는 대신 유니 코드 코드 포인트를 반환 할 수도 있습니다.
>>> ord(u'あ') 12354
-
==============================
3.당신이 찾고있는:
당신이 찾고있는:
ord()
-
==============================
4.허용 된 대답은 정확하지만 한꺼번에 ASCII 문자를 ASCII 코드로 변환해야하는 경우 더 능숙하고 효율적인 방법이 있습니다. 대신에 :
허용 된 대답은 정확하지만 한꺼번에 ASCII 문자를 ASCII 코드로 변환해야하는 경우 더 능숙하고 효율적인 방법이 있습니다. 대신에 :
for ch in mystr: code = ord(ch)
또는 약간 더 빠름 :
for code in map(ord, mystr):
코드를 직접 반복하는 Python 기본 유형으로 변환합니다. 파이썬 3에서는 그다지 중요하지 않습니다.
for code in mystr.encode('ascii'):
Python 2.6 / 2.7에서는 Py3 스타일의 바이트 객체가 없으므로 (바이트는 문자별로 반복되는 str의 별칭 임) Python 스타일 객체가 없으므로 약간 더 복잡해졌습니다.하지만 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'):
서수로 반복적으로 반복하는 형식으로 인코딩하면 변환 속도가 훨씬 빨라집니다. Py2.7 및 Py3.5 모두에 대한 로컬 테스트에서 map (ord, mystr)을 사용하여 ASCII 코드를 가져 오는 str을 반복하면 Py2 또는 mystr에서 bytearray (mystr)를 사용하는 것보다 len 10 str에 약 두 배의 시간이 걸립니다 .encode ( 'ascii')를 Py3에 추가하면 str이 길어지면 map (ord, mystr)에 대해 지불 한 배율이 ~ 6.5x-7x로 상승합니다.
유일한 단점은 전환이 한꺼번에 이루어 지므로 첫 번째 결과가 조금 더 오래 걸릴 수 있으며 엄청난 양의 문자열이 비례 적으로 큰 임시 바이트 / bytearray를가집니다. 그러나 이것이 페이지를 쓰러 뜨리면 않는 한, 이것은 아닙니다. 중요 할 것 같다.
from https://stackoverflow.com/questions/227459/how-to-get-the-ascii-value-of-a-character by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] TensorFlow에서 텐서를 수적으로 배열로 변환하려면 어떻게해야합니까? (0) | 2018.10.11 |
---|---|
[PYTHON] DataFrame 열 유형을 문자열에서 datetime으로 변환 (0) | 2018.10.11 |
[PYTHON] 팬더 멀티 인덱스를 열로 바꿉니다. (0) | 2018.10.11 |
[PYTHON] os.walk의 디렉토리 제외 (0) | 2018.10.11 |
[PYTHON] 문자열에서 가장 긴 반복 시퀀스 찾기 (0) | 2018.10.11 |