Рубрики
Без рубрики

Python Chr () и Ord ()

В этом уроке мы будем работать с функциями Python Chr () и Ord (). Встроенный Python Function Chr () используется для преобразования целого числа к символу, а ..

Автор оригинала: Pankaj Kumar.

Python Chr () и Ord ()

Встроенная функция Python chr () используется для преобразования Целое число к Персонаж , пока функция Орд () используется для выполнения обратного, то есть конвертировать Персонаж к Целое число Отказ

Давайте посмотрим как на эти функции, и понять, как их можно использовать.

Функция Chr ()

Синтаксис

Это занимает целое число Я и преобразует его на символ C Так что возвращает строку символов.

Формат:

c = chr(i)

Вот пример, чтобы продемонстрировать то же самое:

# Convert integer 65 to ASCII Character ('A')
y = chr(65)
print(type(y), y)

# Print A-Z
for i in range(65, 65+25):
    print(chr(i), end = " , ")

Выход

 A
A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z 

Допустимый диапазон для аргумента составляет от 0 до 1,114,111 (0x10FFFF в шестнадцатеричном виде). ValueError будет поднят, если целое число Я находится за пределами этого диапазона.

Давайте проверим, что с некоторыми примерами

print(chr(-1))

Это поднимет ValueError Отказ

ValueError: chr() arg not in range(0x110000)
start = 0
end = 1114111

try:
    for i in range(start, end+2):
        a = chr(i)
except ValueError:
    print("ValueError for i =", i)

Выход

ValueError for i = 1114112

Функция ORD ()

Орд () Функция принимает строковый аргумент одного символа Unicode и возвращает его целое значение кодового значения Unicode. Это делает реверс chr () Отказ

Синтаксис

Это принимает один символ Unicode (строка длины 1) и возвращает целое число, поэтому формат:

i = ord(c)

Чтобы убедиться, что он делает реверс chr () Давайте проверим функцию, используя некоторые примеры.

# Convert ASCII Unicode Character 'A' to 65
y = ord('A')
print(type(y), y)

alphabet_list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

# Print 65-90
for i in alphabet_list:
    print(ord(i), end = " , ")

Выход

 65
65 , 66 , 67 , 68 , 69 , 70 , 71 , 72 , 73 , 74 , 75 , 76 , 77 , 78 , 79 , 80 , 81 , 82 , 83 , 84 , 85 , 86 , 87 , 88 , 89 , 90 , 

Это поднимает Типеррор Если длина входной строки не равна одному.

y = ord('Hi')

Выход

TypeError: ord() expected a character, but string of length 2 found

Прохождение шестнадцатеричных данных

Мы также можем пройти целые числа, представленные в других общих базах, таких как шестнадцатеричный формат (база 16) до chr () и Орд () Отказ

В Python мы можем использовать шестнадцатеричное средство, префиксировав целое число с 0x , при условии, что он находится в пределах 32/64 бита для целочисленных значений.

>>> print(hex(18))
'0x12'
>>> print(chr(0x12))
'\x12'
>>> print(ord('\x12'))
18
>>> print(int('\x12'))
18

Мы проходим целое число 18 В шестнадцатеричном формате до chr () , который возвращает шестнадцатеричное 0x12 Отказ Мы проходим это к chr () и использовать Орд () вернуть наше целое число.

Обратите внимание, что мы также могли бы получить целое число, используя int () , Поскольку одна строка символов также является строкой, которая может быть допустимым параметром к вышеуказанной функции.

Заключение

В этой статье мы узнали об использовании chr () и Орд () Чтобы преобразовать целые числа персонажам и наоборот.

Рекомендации