Найти в Дзене
IT Start | Python

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

Функция decode() в Python используется для преобразования байтов (тип bytes) в строку (тип str) с использованием указанной кодировки. Синтаксис функции decode() выглядит следующим образом: bytes.decode(encoding="utf-8", errors="strict") Где: Воспользуемся функцией decode() для декодирования байтовой строки в строку с помощью кодировки UTF-8: # Пример байтовой строки
byte_string = b'Hello, world!' # Декодируем байтовую строку в строку
decoded_string = byte_string.decode('utf-8') print(decoded_string) # Вывод: Hello, world! В этом примере у нас есть байтовая строка, закодированная кодировкой UTF-8. Воспользуемся функцией decode() для преобразования байтов в строку: byte_string = b'\xe2\x9c\x94' # Байтовая строка, которая в UTF-8 соответствует символу галочки try:
decoded_string = byte_string.decode('utf-8')
print(decoded_string)
except UnicodeDecodeError:
print("Ошибка декодирования") # Вывод: ✔ В приведённом выше примере не было ошибки. Для иллюстрации ошибки рассмотрим случай, ко
Оглавление

Определение

Функция decode() в Python используется для преобразования байтов (тип bytes) в строку (тип str) с использованием указанной кодировки.

Синтаксис

Синтаксис функции decode() выглядит следующим образом:

bytes.decode(encoding="utf-8", errors="strict")

Где:

  • encoding (по умолчанию «utf-8») — строка, указывающая кодировку, которую нужно использовать для декодирования. Это может быть любая поддерживаемая кодировка, например, «utf-8», «ascii», «latin1» и т.д.
  • errors (по умолчанию «strict») — строка, определяющая поведение при возникновении ошибок декодирования. Возможные значения:strict — вызывает исключение UnicodeDecodeError, если не удаётся декодировать данные.
    ignore — игнорирует ошибки и пропускает символы, которые нельзя декодировать.
    replace — заменяет символы, которые нельзя декодировать, на специальный символ замены.
    backslashreplace — заменяет недопустимые символы на строку с их Unicode-значением в формате escape-последовательности.

Примеры

Пример использования функции decode() в Python

Воспользуемся функцией decode() для декодирования байтовой строки в строку с помощью кодировки UTF-8:

# Пример байтовой строки
byte_string = b'Hello, world!'

# Декодируем байтовую строку в строку
decoded_string = byte_string.decode('utf-8')

print(decoded_string) # Вывод: Hello, world!

Пример использования функции decode() в Python с обработкой ошибки

В этом примере у нас есть байтовая строка, закодированная кодировкой UTF-8. Воспользуемся функцией decode() для преобразования байтов в строку:

byte_string = b'\xe2\x9c\x94' # Байтовая строка, которая в UTF-8 соответствует символу галочки

try:
decoded_string = byte_string.decode('utf-8')
print(decoded_string)
except UnicodeDecodeError:
print("Ошибка декодирования")

# Вывод: ✔

В приведённом выше примере не было ошибки. Для иллюстрации ошибки рассмотрим случай, когда мы пытаемся декодировать байты, которые не соответствуют правильной кодировке:

# Некорректная байтовая строка для кодировки ASCII
byte_string_with_error = b'\xe2\x28\xa1' # Эти байты не могут быть интерпретированы как ASCII

try:
# Пытаемся декодировать в ASCII (что неверно для этих байтов)
decoded_string = byte_string_with_error.decode('ascii')
print(decoded_string)
except UnicodeDecodeError:
print("Ошибка декодирования") # Будет выведена данная ошибка, т.к. байты не соответствуют ASCII

Заключение

В ходе статьи мы с Вами узнали как работает функция decode() в Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Мой Telegram канал

Мой YouTube канал

Мой курс по Python (50 видоуроков + дополнительные уроки)

Курс по созданию телеграм-ботов на Python с фреймворком Aiogram

Курс по созданию GUI на Python