source

문자의 ASCII 값을 가져오는 방법

manysource 2022. 11. 13. 19:33

문자의 ASCII 값을 가져오는 방법

문자의 ASCII 을 취득하려면 어떻게 해야 합니까?intPython으로요?

여기서부터:

함수는 char의 int 값을 가져옵니다.그리고 숫자를 가지고 놀다가 다시 변환하고 싶은 경우에는 함수가 제 역할을 합니다.

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

Python 2에서도,unichr함수, 서수가 다음과 같은 Unicode 문자를 반환합니다.unichr인수:

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

Python 3에서는chr대신unichr.


ord() - Python 3.6.5rc1 문서

ord() - Python 2.7.14 매뉴얼

주의:ord()는 ASCII 값 자체를 제공하지 않습니다.문자 인코딩에 관계없이 숫자 값을 제공합니다.따라서, 의 결과는ord('ä')Latin-1을 사용하는 경우 228이 될 수 있습니다.아니면 Latin-1을 사용하면TypeErrorUTF-8을 사용하는 경우.Unicode를 전달하면 Unicode 코드 포인트를 대신 반환할 수도 있습니다.

>>> 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의 로컬 테스트에서는, py2.7과 py3.5의 양쪽 모두에서, py3.5의 반복은,strASCII 코드를 가져오려면map(ord, mystr)첫 번째로 약 2배의 시간이 걸린다len 10 str사용하는 것보다bytearray(mystr)Py2 또는mystr.encode('ascii')Py3와 Py3의 경우str시간이 길어지면 승수가 지불됩니다.map(ord, mystr)~6.5배~7배까지 올라갑니다.

유일한 단점은 변환이 한 번에 이루어지기 때문에 첫 번째 결과는 조금 더 오래 걸릴 수 있고 정말 엄청난 결과를 얻을 수 있다는 것입니다.str비례적으로 큰 임시직을 갖게 될 것이다.bytes/bytearray그러나 강제로 페이지 스레싱을 시작하지 않는 한, 이것은 문제가 되지 않을 것입니다.

문자의 ASCII 코드를 취득하려면 ,ord()기능.

다음은 코드 예시입니다.

value = input("Your value here: ")
list=[ord(ch) for ch in value]
print(list)

출력:

Your value here: qwerty
[113, 119, 101, 114, 116, 121]

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