Преобразование bytes в строку

В Python bytes — это последовательность байтов, а str — последовательность символов Unicode. Чтобы превратить bytes в обычную строку, нужно декодировать байты по конкретной кодировке.

Что нужно знать

Перед изучением примера полезно понимать:

Решение через decode()

print(b'Easy \xE2\x9C\x85'.decode("utf-8"))

Вывод

Easy ✅

Как это работает

Метод decode() объекта bytes преобразует байты в строку. В качестве аргумента передаётся название кодировки — в примере это "utf-8", самая распространённая кодировка для текста.

Последовательность байтов \xE2\x9C\x85 — это UTF-8-представление символа галочки ✅. После декодирования вместо трёх «сырых» байтов получается один читаемый символ.

Совет

Если попытаться декодировать байты неправильной кодировкой, будет ошибка UnicodeDecodeError. Поэтому важно знать, в какой кодировке записаны исходные байты.