bytes

class bytes([source[, encoding[, errors='strict']])
  • source - источник

  • encoding - кодировка для str

  • errors - обработка ошибок для str
    • strict - при ошибке возбуждается исключение UnicodeDecodeError
    • replace - неизвестный символ заменяется символом, имеющим код uFFFD
    • ignore - неизвестные символы игнорируются

Неизменяемая последовательность байтов.

Каждый элемент последовательно­сти может хранить целое число от 0 до 255, которое обозначает код символа.

Объект ти­па bytes поддерживает большинство строковых методов и, если это возможно, выводит­ся как последовательность символов.

Однако доступ по индексу возвращает целое чис­ло, а не символ.

type(bytes("Строка", "utf-8"))
# <class 'bytes'>

s = bytes("cтp str", "ср1251")
s[O], s[5], s[0:3], s[4:7]
# (241, 116, b'\xf1\xf2\xf0', b'str')
s
# b'\xf1\xf2\xf0 str'

len ("строка")
# 6

len(bytes ("строка", "ср1251"))
# 6

len(bytes("строка", "utf-8"))
# 12

bytes("строка", "ср1251")
# b'\xf1\xf2\xf0\xee\xea\xe0'

bytes("строка123", "ascii", "ignore")
# b'123'

b = bytes([225, 226, 224, 174, 170, 160])
# b'\хе1\хе2\хе0\хае\хаа\ха0'

str(b, "ср866")
# 'строка'