문자의 ASCII 값을 가져오는 방법
문자의 ASCII 값을 취득하려면 어떻게 해야 합니까?int
Python으로요?
여기서부터:
함수는 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()
는 ASCII 값 자체를 제공하지 않습니다.문자 인코딩에 관계없이 숫자 값을 제공합니다.따라서, 의 결과는ord('ä')
Latin-1을 사용하는 경우 228이 될 수 있습니다.아니면 Latin-1을 사용하면TypeError
UTF-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의 반복은,str
ASCII 코드를 가져오려면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
'source' 카테고리의 다른 글
JavaScript 콘솔에 jQuery 포함 (0) | 2022.11.13 |
---|---|
2개의 번호 리스트 간의 코사인 유사성 (0) | 2022.11.13 |
잘못된 종류의 값을 보유한 키에 대한 WORLTYPE 작업 php (0) | 2022.11.13 |
숫자를 어떻게 반올림합니까? (0) | 2022.11.13 |
matplotlib 오류 - tkinter라는 이름의 모듈이 없습니다. (0) | 2022.11.13 |