Преобразование bytes в строку
В Python bytes — это последовательность байтов, а str — последовательность символов Unicode. Чтобы превратить bytes в обычную строку, нужно декодировать байты по конкретной кодировке.
Что нужно знать
Перед изучением примера полезно понимать:
Базовый ввод и вывод в Python — ввод и вывод
Решение через decode()
print(b'Easy \xE2\x9C\x85'.decode("utf-8"))
Вывод
Easy ✅
Как это работает
Метод decode() объекта bytes преобразует байты в строку. В качестве аргумента передаётся название кодировки — в примере это "utf-8", самая распространённая кодировка для текста.
Последовательность байтов \xE2\x9C\x85 — это UTF-8-представление символа галочки ✅. После декодирования вместо трёх «сырых» байтов получается один читаемый символ.
Совет
Если попытаться декодировать байты неправильной кодировкой, будет ошибка UnicodeDecodeError. Поэтому важно знать, в какой кодировке записаны исходные байты.