Programing

문자의 ASCII 값을 얻는 방법은 무엇입니까?

crosscheck 2020. 9. 28. 08:16
반응형

문자의 ASCII 값을 얻는 방법은 무엇입니까?


파이썬 에서 문자 ASCII 값을 어떻게 얻 습니까?int


에서 여기 :

ord () 함수는 char의 int 값을 가져옵니다. 그리고 숫자로 재생 한 후 다시 변환하려면 chr () 함수가 트릭을 수행합니다.

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

Python 2에는 서 수가 인수 유니 코드 문자를 unichr반환하는 함수 도 있습니다 .unichr

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

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


ord ()-Python 3.6.5rc1 문서

ord ()-Python 2.7.14 문서


ord()당신에게 그 자체로 ASCII 값을 제공하지 않습니다; 어떤 인코딩에 있든 문자의 숫자 값을 제공합니다. 따라서 결과는 ord('ä')Latin-1을 사용하는 경우 228이 될 수 있고 TypeErrorUTF-8을 사용 하는 경우 a가 발생할 수 있습니다. 유니 코드를 전달하면 대신 유니 코드 코드 포인트를 반환 할 수도 있습니다.

>>> ord(u'あ')
12354

당신이 찾고있는:

ord()

허용되는 대답은 맞지만 전체 ASCII 문자를 한 번에 ASCII 코드로 변환해야하는 경우이를 수행하는 더 영리하고 효율적인 방법이 있습니다. 대신 :

for ch in mystr:
    code = ord(ch)

또는 약간 더 빠릅니다.

for code in map(ord, mystr):

코드를 직접 반복하는 Python 기본 유형으로 변환합니다. Python 3에서는 간단합니다.

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

그리고 Python 2.6 / 2.7에서는 Py3 스타일 bytes객체 ( 문자별로 반복되는에 bytes대한 별칭)가 없기 때문에 약간 더 복잡 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'):

기본적으로 서수에 따라 반복되는 유형으로 인코딩하면 변환이 훨씬 빨라집니다. Py2.7 및 Py3.5의 로컬 테스트에서 a str를 사용하여 ASCII 코드를 얻기 위해 반복하는 것은 Py2 또는 Py3에서 사용 하는 것보다 10 map(ord, mystr)에 대해 약 두 배 더 오래 걸리며, 시간이 길어질수록 승수는 상승합니다. ~ 6.5x-7x.lenstrbytearray(mystr)mystr.encode('ascii')strmap(ord, mystr)

유일한 단점은 변환이 한꺼번에 이루어지기 때문에 첫 번째 결과가 조금 더 오래 걸릴 수 있으며, 진정으로 거대한 str결과는 비례 적으로 큰 임시 bytes/를 가질 수 bytearray있지만 이로 인해 페이지 스 래싱이 발생하지 않는 한 이것은 중요하지 않습니다. .


문자의 ASCII 값 :

ch = input("Please enter Character  :  ")

print("The ASCII Value of %c = %d" %(ch, ord(ch)))

문자열에서 총 문자의 ASCII 값 찾기

str1 = input("Please Enter your Own String : ")
for i in range(len(str1)):
print("The ASCII Value of Character %c = %d" %(str1[i], ord(str1[i])))

또한 chr () 함수를 사용하여 주어진 ASCII 값에서 문자를 찾을 수 있습니다. 이 함수는 ASCII 값을 받아들이고 주어진 ASCII 값에 대한 문자를 반환합니다.

사용자로부터 ASCII 값 가져 오기

num = int(input("Enter ASCII value: "))
print(chr(num))

참고 URL : https://stackoverflow.com/questions/227459/how-to-get-the-ascii-value-of-a-character

반응형