Функция ascii() в Python
ascii()Это встроенная функция в Python, используемая для возврата ASCII-представления объекта.
ascii()Возвращает строку, похожую наrepr(), но она экранирует не-ASCII символы как ASCII-символы. Это очень полезно для отладки и логирования.
Определение термина: asciiЭто аббревиатура American Standard Code for Information Interchange.
Базовый синтаксис и параметры
Формат синтаксиса
ascii(object)
Описание параметра
- Параметр object:
- Тип: любой объект
- Описание: Объект, ASCII-представление которого требуется получить.
Описание функций
- Возвращаемое значение: Возвращает строку.
- Особенность: Не-ASCII символы экранируются как
\x、\uили\Uформа.
Примеры
Пример 1: Базовое использование
Пример
# Чистая ASCII-строка
s = "Hello"
print(ascii(s)) # Вывод: 'Hello'
# Содержит не-ASCII символы
s = Привет
print(ascii(s)) # Вывод: '\xe4\xbd\xa0\xe5\xa5\xbd'
# Смешанные китайские и английские символы
s = Hello Hello
print(ascii(s)) # Вывод: 'Hello \xe4\xbd\xa0\xe5\xa5\xbd'
# Другие не-ASCII символы
s = "café"
print(ascii(s)) # Вывод: 'caf\xc3\xa9'
s = "Hello"
print(ascii(s)) # Вывод: 'Hello'
# Содержит не-ASCII символы
s = Привет
print(ascii(s)) # Вывод: '\xe4\xbd\xa0\xe5\xa5\xbd'
# Смешанные китайские и английские символы
s = Hello Hello
print(ascii(s)) # Вывод: 'Hello \xe4\xbd\xa0\xe5\xa5\xbd'
# Другие не-ASCII символы
s = "café"
print(ascii(s)) # Вывод: 'caf\xc3\xa9'
Ожидаемый вывод:
'Hello' '\xe4\xbd\xa0\xe5\xa5\xbd' 'Hello \xe4\xbd\xa0\xe5\xa5\xbd' 'caf\xc3\xa9'
Анализ кода:
- Чистые ASCII-символы остаются без изменений.
- Не-ASCII-символы экранируются.
- Китайские символы используют
\xшестнадцатеричное экранирование.
Пример 2: Сравнение с repr()
Пример
# repr против ascii
s = Китайский
print(f"repr: {repr(s)}") # Вывод: repr: 'Chinese'
print(f"ascii: {ascii(s)}") # Вывод: ascii: '\xe4\xb8\xad\xe6\x96\x87'
# Список
lst = ["Hello", Hello, "café"]
print(repr(lst)) # Вывод: ['Hello', 'Hello', 'café']
print(ascii(lst)) # Вывод: ['Hello', '\xe4\xbd\xa0\xe5\xa5\xbd', 'caf\xc3\xa9']
# Используется для печати (чтобы избежать ошибок кодирования)
import sys
print(ascii("Test")) # Вывод: '\xe6\xb5\x8b\xe8\xaf\x95'
s = Китайский
print(f"repr: {repr(s)}") # Вывод: repr: 'Chinese'
print(f"ascii: {ascii(s)}") # Вывод: ascii: '\xe4\xb8\xad\xe6\x96\x87'
# Список
lst = ["Hello", Hello, "café"]
print(repr(lst)) # Вывод: ['Hello', 'Hello', 'café']
print(ascii(lst)) # Вывод: ['Hello', '\xe4\xbd\xa0\xe5\xa5\xbd', 'caf\xc3\xa9']
# Используется для печати (чтобы избежать ошибок кодирования)
import sys
print(ascii("Test")) # Вывод: '\xe6\xb5\x8b\xe8\xaf\x95'
Ожидаемый вывод:
repr: '中文' ascii: '\xe4\xb8\xad\xe6\x96\x87' ['Hello', '你好', 'café'] ['Hello', '\xe4\xbd\xa0\xe5\xa5\xbd', 'caf\xc3\xa9'] '\xe6\xb5\x8b\xe8\xaf\x95'
ascii()Это очень полезно, когда нужно отобразить или записать символы, отличные от ASCII, в среде, где используется только ASCII.
Другие расширения
Встроенные функции Python3