bytes.decode(encoding='utf-8', errors='strict') bytearray.decode(encoding='utf-8', errors='strict')
bytes
и bytearray
- соответствующие типы bytes
или bytearray
,encoding='utf-8'
- кодировка,errors='strict'
- обработчик ошибок кодировки.Метод decode()
возвращает строку, декодированную из заданных байтов. Кодировка encoding
по умолчанию - "utf-8". Обработчик ошибок errors
может быть задан для другой схемы обработки ошибок. Значение по умолчанию для errors
- 'strict', что означает, что ошибки кодирования вызывают исключение UnicodeError
. Другими возможными значениями являются 'ignore', 'replace ' и любое другое имя, зарегистрированное с помощью codecs.register_error()
, см. раздел обработчики ошибок. Список возможных кодировок см. стандартные кодировки.
Примечание: передача аргумента encoding
в строку str
позволяет декодировать любой байт-подобный объект напрямую, без необходимости создавать временный bytes
объект или объект bytearray
.
Если вы хотите кодировать и декодировать текст, то именно для этого существуют методы str.encode()
и bytes.decode()
:
>>> a = "Ёжик" >>> b = a.encode('utf-8') >>> b # b'\xd0\x81\xd0\xb6\xd0\xb8\xd0\xba' >>> c = b.decode('utf-8') >>> c # 'Ёжик' >>> a = 'Вход' >>> b = bytearray(a, 'utf-8') >>> b # bytearray(b'\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4') >>> c = str(b, 'utf-8') >>> c # 'Вход'