Python 3.2+Числа и математикафункция
int.to_bytes
байты
Сериализует целое в объект bytes заданной длины и порядка байт (byteorder «big»/«little»); signed=True — для отрицательных.
Синтаксис
n.to_bytes(length=1, byteorder='big', *, signed=False)
Длину считаете вы: число, не влезающее в length байт, даёт OverflowError, а не обрезается молча; минимально нужное количество — (n.bit_length() + 7) // 8. Отрицательные значения требуют signed=True, иначе тот же OverflowError о переводе отрицательного в беззнаковое. Значения по умолчанию (length=1, byteorder='big') появились только в Python 3.11 — раньше оба аргумента были обязательными.
Примеры
print((7).to_bytes(2, 'big')) # → b'\x00\x07'
print((255).to_bytes(1, 'little')) # → b'\xff'
print((1).to_bytes(2, 'little')) # → b'\x01\x00'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности