Функция bytearray в Python — возвращает нам объект bytearray, который является массивом байтов. Возвращаемый объект данной функции является изменяемым объектом. Если вам по каким то причинам необходима именно неизменяемая версия, то советую воспользоваться методом bytes().
Синтаксис функции bytearray()
prime_numbers = [2, 3, 5, 7]
# преобразуем список в массив байтов
byte_array = bytearray(prime_numbers)
print(byte_array)
# Результат:
bytearray(b'\x02\x03\x05\x07')
Параметры функции bytearray()
Данная функция может принимать три необязательных параметра:
- source — инициализация массива
- encoding — если источник строка, то указываем кодировку строки
- errors — для отлова ошибки. Указываем действие необходимое сделать, при неудачном преобразовании кодировки. Более подробно про кодировки строк
Тип | Описание |
---|---|
Строка | Преобразует строку в байты с помощью методаstr.encode(). Необходимо так же указать кодировку используемую в строке. Далее опционально указывается и параметр error. |
Целое число | Создает массив заданного размера |
Объект | Доступен только для чтения, будет использоваться для инициализации массива |
Последовательность | Создается массив размер которого, равен количеству элементов в последовательности |
Нет источника | Создает массив размером 0. |
Пример 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')