bytes()
Функция bytes() создаёт неизменяемую последовательность байтов
со значениями 0..255. Подходит для сетевых пакетов, бинарных
файлов, хешей и любых данных, которые не должны меняться после
создания.
Сигнатура
bytes()
bytes(int)
bytes(iterable_of_ints)
bytes(string, encoding[, errors])
bytes(bytes_or_buffer)
Возвращает: объект bytes.
Примеры
Создание:
print(bytes())
print(bytes(4))
print(bytes([0x41, 0x42, 0x43]))
print(bytes("Алаш", "utf-8"))
b''
b'\x00\x00\x00\x00'
b'ABC'
b'\xd0\x90\xd0\xbb\xd0\xb0\xd1\x88'
Кодирование строки:
text = "AlashEd Wiki"
data = text.encode("utf-8")
print(data)
print(bytes(text, "utf-8") == data)
b'AlashEd Wiki'
True
Литерал b"..." — тот же bytes:
pkt = b"\xAA\x55HELLO"
print(type(pkt))
print(pkt[0], pkt[1])
print(pkt[2:])
<class 'bytes'>
170 85
b'HELLO'
Неизменяемость — попытка изменить вызовет ошибку:
data = bytes([1, 2, 3])
try:
data[0] = 99
except TypeError as e:
print("Ошибка:", e)
Ошибка: 'bytes' object does not support item assignment
Сравнение хешей:
import hashlib
h1 = hashlib.sha256(b"alash").digest()
h2 = hashlib.sha256(b"alash").digest()
print(type(h1))
print(h1 == h2)
print(h1.hex()[:16])
<class 'bytes'>
True
42aa6e7d0c1f3b9a
См. также
Примечание
Описание основано на официальной документации Python (docs.python.org), распространяемой под лицензией PSF License v2. © Python Software Foundation.