bytearray и bytes в Python
Метод bytearray() в Python возвращает объект bytearray, который представляет собой массив заданных байтов.
bytearray([source[, encoding[, errors]]])
Метод bytearray() возвращает объект bytearray, который представляет собой изменяемую (можно изменять) последовательность целых чисел в диапазоне 0
Если вам нужна неизменная версия, используйте метод bytes().
Параметры
bytearray() принимает три необязательных параметра:
- источник (необязательно) — источник для инициализации массива байтов.
- кодировка (необязательно) — если источником является строка, кодировка строки.
- ошибки (необязательно) — если источником является строка, действие, которое нужно предпринять при сбое преобразования кодировки (Подробнее: Кодировка строки)
Параметр источника можно использовать для инициализации массива байтов следующими способами:
Тип | Описание |
---|---|
Строка | Преобразует строку в байты с помощью str.encode(). Также необходимо указать кодировку и, при необходимости, ошибки. |
Целое число | Создает массив заданного размера, все инициализированные нулевым значением. |
Объект | Буфер объекта только для чтения будет использоваться для инициализации массива байтов. |
Итерабельный | Создает массив размером, равным количеству итераций, и инициализируется повторяющимися элементами. Должен быть итерируемым целыми числами от 0 |
Нет источника (аргументы) | Создает массив размером 0. |
Метод bytearray() возвращает массив байтов заданного размера и значений инициализации.
Пример 1: массив байтов из строки
string = "Python is interesting." # string with encoding 'utf-8' arr = bytearray(string, 'utf-8') print(arr)
bytearray(b'Python is interesting.')
Пример 2: массив байтов заданного целого размера
size = 5 arr = bytearray(size) print(arr)
bytearray(b'\x00\x00\x00\x00\x00')
Пример 3: из повторяемого списка
rList = [1, 2, 3, 4, 5] arr = bytearray(rList) print(arr)
bytearray(b'\x01\x02\x03\x04\x05')
Метод bytes() возвращает неизменяемый объект байтов, инициализированный заданным размером и данными.
bytes([source[, encoding[, errors]]])
bytes() возвращает объект байтов, который представляет собой неизменяемую (не может быть изменена) последовательность целых чисел в диапазоне 0
Если вы хотите использовать изменяемую версию, используйте метод bytearray().
bytes() принимает три необязательных параметра:
- источник (необязательно) — источник для инициализации массива байтов.
- кодировка (необязательно) — если источником является строка, кодировка строки.
- ошибки (необязательно) — если источником является строка, действие, которое нужно предпринять при сбое преобразования кодировки.
Параметр источника можно использовать для инициализации массива байтов следующими способами:
Тип | Описание |
---|---|
Строка | Преобразует строку в байты с помощью str.encode(). Также необходимо указать кодировку и, при необходимости, ошибки. |
Целое число | Создает массив заданного размера, все инициализированные нулевым значением |
Объект | Буфер объекта только для чтения будет использоваться для инициализации массива байтов. |
Итерабельный | Создает массив размером, равным количеству итераций, и инициализируется повторяющимися элементами. Должен быть итерируемым целыми числами от 0 |
Нет источника (аргументы) | Создает массив размером 0 |
Метод bytes() возвращает объект байтов заданного размера и значений инициализации.
Пример 1: преобразование строки в байты
string = "Python is interesting." # string with encoding 'utf-8' arr = bytes(string, 'utf-8') print(arr)
Пример 2: создать байт заданного целого размера
size = 5 arr = bytes(size) print(arr)
Пример 3: преобразование итеративного списка
rList = [1, 2, 3, 4, 5] arr = bytes(rList) print(arr)