Функция ascii() в Python

Python3 内置函数Встроенные функции Python3


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'

Ожидаемый вывод:

'Hello'
'\xe4\xbd\xa0\xe5\xa5\xbd'
'Hello \xe4\xbd\xa0\xe5\xa5\xbd'
'caf\xc3\xa9'

Анализ кода:

  1. Чистые ASCII-символы остаются без изменений.
  2. Не-ASCII-символы экранируются.
  3. Китайские символы используют\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'

Ожидаемый вывод:

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 内置函数Встроенные функции Python3


Другие расширения