Найти в Дзене
IT Start | Python

Функция bytes() в Python

Функция bytes() — один из базовых инструментов Python для работы с бинарными данными. Она позволяет создавать неизменяемые последовательности байтов, которые широко используются при обработке файлов, сетевом взаимодействии, кодировании строк, работе с криптографией и низкоуровневыми протоколами. Тип bytes — это неизменяемая последовательность чисел от 0 до 255, представляющая бинарные данные. Его можно сравнить со строкой (str), но вместо символов он хранит байты. Пример байтовой строки: data = b"Hello"
print(data) # b'Hello' Такой формат широко применяется при работе: Функция bytes() может использоваться пятью способами: bytes() # Создаёт пустой объект
bytes(10) # Создаёт последовательность из 10 нулевых байтов
bytes(iterable) # Из набора чисел (0..255)
bytes(string, encoding) # Из строки
bytes(buffer) # Из объекта, поддерживающего буферный протокол Создаёт пустую бинарную строку: data = bytes()
print(data) # b'' Используется, когда нужно выделить место под буфер: buffer = bytes
Оглавление

Определение

Функция bytes() — один из базовых инструментов Python для работы с бинарными данными. Она позволяет создавать неизменяемые последовательности байтов, которые широко используются при обработке файлов, сетевом взаимодействии, кодировании строк, работе с криптографией и низкоуровневыми протоколами.

Что такое bytes в Python

Тип bytes — это неизменяемая последовательность чисел от 0 до 255, представляющая бинарные данные. Его можно сравнить со строкой (str), но вместо символов он хранит байты.

Пример байтовой строки:

data = b"Hello"
print(data) # b'Hello'

Такой формат широко применяется при работе:

  • С файлами в бинарном формате,
  • С сетью (прослушивание сокетов, отправка пакетов),
  • С изображениями и медиа,
  • С хешированием и криптографией,
  • С кодировками.

Синтаксис функции bytes()

Функция bytes() может использоваться пятью способами:

bytes() # Создаёт пустой объект
bytes(10) # Создаёт последовательность из 10 нулевых байтов
bytes(iterable) # Из набора чисел (0..255)
bytes(string, encoding) # Из строки
bytes(buffer) # Из объекта, поддерживающего буферный протокол

bytes() без аргументов

Создаёт пустую бинарную строку:

data = bytes()
print(data) # b''

bytes(n): создание n нулевых байтов

Используется, когда нужно выделить место под буфер:

buffer = bytes(5)
print(buffer) # b'\x00\x00\x00\x00\x00'

bytes(iterable): из последовательности чисел

Каждый элемент должен быть в диапазоне 0…255:

data = bytes([65, 66, 67])
print(data) # b'ABC'

Если будет передано число больше 255, то вылезет ошибка:

bytes([300]) # ValueError

bytes(string, encoding): преобразование строки в байты

Самый распространённый способ:

text = "Привет"
data = bytes(text, encoding="utf-8")
print(data)

# Вывод: b'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'

bytes(object): из объектов, поддерживающих буферный протокол

Например, bytearray, memoryview():

ba = bytearray([1, 2, 3])
data = bytes(ba)

print(data) # b'\x01\x02\x03'

Примеры использования функции bytes()

Чтение бинарного файла

with open("image.png", "rb") as f:
data = f.read()

print(type(data)) #

Преобразование строки в байты и обратно

text = "Hello"
data = text.encode("utf-8") # то же, что bytes(text, "utf-8")
decoded = data.decode("utf-8")

print(data) # b'Hello'
print(decoded) # Hello

Отправка данных через сокет

import socket

s = socket.socket()
s.connect(("example.com", 80))

request = b"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n"
s.send(request)

Получение хеша от строки

import hashlib

data = bytes("password123", "utf-8")
print(hashlib.sha256(data).hexdigest())

Заключение

Функция bytes() — ключевой инструмент Python для работы с бинарными данными. Она позволяет:

  • Создавать байтовые строки,
  • Конвертировать текст в бинарный формат,
  • Работать с файлами, сетевыми протоколами и криптографией,
  • Управлять буферами и низкоуровневыми структурами.

Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Мой Telegram канал

Мой YouTube канал

Мой курс по Python (50 видоуроков + дополнительные уроки)

Курс по созданию телеграм-ботов на Python с фреймворком Aiogram

Курс по созданию GUI на Python