Функция ascii() возвращает удобочитаемую версию любого объекта, такого как строки, кортежи, списки и т. д. Ранее в Python2 метод repr() использовался для возврата печатного представления объекта. Рассмотрим в данном руководстве использование функции ascii() в Python и примеры преобразования и кодировки строк.

Python ascii()
Python ascii() — это встроенный метод, который возвращает строку, содержащую печатное представление объекта, и экранирует non-ASCII-символы в строке с помощью escape-символов \x, \u или \U. Функция ascii() заменит все символы, отличные от ascii, escape-символами: å будет заменено на \xe5.
Например, ë представляется как ë методом repr(), но методом ascii() он представляется управляющей последовательностью Python \xeb . Точно так же ö представляется как ö с помощью repr() и \xf6n с помощью метода ascii() .
Синтаксис
|
1 |
ascii(object) |
Теперь посмотрите на следующий пример кода.
|
1 2 3 4 5 |
print(ascii("¥")) print(ascii("µ")) print(ascii("Ë")) |
Вывод:
|
1 2 3 4 5 |
➜ pyt python3 app.py '\xa5' '\xb5' '\xcb' ➜ pyt |
Итак, он возвращает строку, содержащую печатное представление объекта.
Пример функции Python ascii со списком и кортежем
Давайте посмотрим на следующий пример списка и кортежа.
|
1 2 3 4 5 6 7 |
# app.py tup =("Ë", "¥", "Ä") print(ascii(tup)) list = ['Facebook', 'FaceBöök'] print(ascii(list)) |
Вывод:
|
1 2 3 |
➜ pyt python3 app.py('\xcb', '\xa5', '\xc4') ['Facebook', 'FaceB\xf6\xf6k'] ➜ pyt |
Как получить ASCII-значение символа
Функция Python ord() получит значение int типа char. И если вы хотите преобразовать обратно после игры с этим числом, функция chr() сделает это за вас.
Пример:
|
1 2 3 |
print(ord('k')) print(chr(97)) print(chr(ord('j') + 3)) |
Смотрите вывод:
|
1 2 3 4 5 |
➜ pyt python3 app.py 107 a m ➜ pyt |
Обратите внимание, что функция ord() не дает вам значения ASCII как такового; он дает вам числовое значение этого символа в любой кодировке, в которой он находится.
Поэтому результатом ord('ä') может быть 228, если вы используете Latin-1, или он может вызвать TypeError, если вы используете UTF-8. Вместо этого он может даже вернуть кодовую точку Unicode, если вы передадите ему Unicode.
