Python Glossary English

все Python 3Байтовые последовательностифункция

bytearray.decode

bytearray — кодирование

Декодирует в строку (str) по кодировке (по умолчанию UTF-8).

Синтаксис

ba.decode(...)

Чаще всего UnicodeDecodeError тут вызван не неверной кодировкой, а границей куска: режете поток по произвольному числу байт — и многобайтовый символ рвётся пополам на совершенно валидных данных. Глушить это через errors='ignore' значит молча терять символы; лучше дочитать недостающие байты или взять инкрементальный декодер из codecs.

Примеры

print(bytearray(b'hi').decode())   # → hi
print(bytearray(b'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82').decode('utf-8'))   # → привет
ba = bytearray(b'name=Ann'); print(ba.decode().split('='))   # → ['name', 'Ann']
print(bytearray(b'ab\xff').decode('utf-8'))   # → UnicodeDecodeError
print(bytearray(b'ab\xff').decode('utf-8', 'ignore'))   # → ab
print(type(bytearray(b'hi').decode()))   # → <class 'str'>

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности