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