Преобразование Bytearray в байты в Python

Convert Bytearray Bytes Python



Python поддерживает множество различных типов объектов данных. Два из них - объекты bytearray а также байты . В bytearray () функция возвращает объект массива байтов. Этот объект изменяемый и поддерживает целое число от 0 до 255. байты () функция возвращает байтовые объекты, не может быть изменена и поддерживает целые числа от 0 до 255. В этой статье будут описаны эти функции и объяснено, как bytearray объекты могут быть преобразованы в байты объекты.

Синтаксис метода bytearray ()

bytearray ([источник данных[,кодирование[,ошибки]]])

Три аргумента этого метода необязательны. Первый аргумент используется для инициализации списка байтов. Если первый аргумент - строка, то второй аргумент используется для кодирования. Наконец, третий аргумент используется для отображения ошибки в случае сбоя кодирования.







Синтаксис метода bytes ()

байты ([источник данных[,кодирование[,ошибки]]])

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



Метод конвертации bytearray к байты в Python показан ниже с использованием нескольких простых примеров для лучшего понимания этого процесса.



Пример 1: преобразование данных списка из байтового массива в байты

Когда функция bytearray () содержит только один аргумент, значением аргумента будет данные словаря или переменная. В следующем примере показано, как объект словаря может быть преобразован в объект байтового массива и как затем объект байтового массива может быть преобразован в байтовый объект. Затем первый цикл for используется для отображения значений таблицы преобразования кодов ASCII, а второй цикл for используется для отображения символов соответствующих кодов ASCII.





#! / usr / bin / env python3

# Определить список
listdataзнак равно [72, 69, 76, 76, 79]
# Распечатать содержимое списка
Распечатать(' пЗначения словаря: п',listdata)

# Инициализировать объект bytearray списком
byteArrayObjectзнак равно bytearray(listdata)
# Вывести значение объекта bytearray
Распечатать(' пВывод метода bytearray (): п',byteArrayObject)

# Преобразовать объект bytearray в объект bytes
byteObjectзнак равно байты(byteArrayObject)
# Распечатать байтовое значение объекта
Распечатать(' пВывод метода bytes (): п',byteObject)

Распечатать(' пЗначения байтов ASCII ')
# Итерировать байтовый объект с помощью цикла
длячасывbyteObject:
Распечатать(часы,'',конецзнак равно'')

Распечатать(' пСтроковые значения байтов ')
# Итерировать байтовый объект с помощью цикла
длячасывbyteObject:
Распечатать(chr(часы),'',конецзнак равно'')

Выход

Следующий вывод появится после запуска скрипта. Здесь 72, 69, 76 и 79 - это коды ASCII для «H», «E», «L» и «O» соответственно.



Пример 2: преобразование строковых данных из байтового массива в байты

В следующем примере показано преобразование объектов байтового массива в байтовые объекты в строковых данных. В методе bytearray () этого скрипта используются два аргумента. Первый аргумент содержит строковое значение, а второй аргумент содержит строку кодировки. Здесь кодировка utf-8 используется для преобразования в объект байтового массива. В декодировать () используется в сценарии для преобразования байтовых объектов в строковые данные. Такая же кодировка используется во время преобразования.

#! / usr / bin / env python3

# Принимаем строковое значение
текстзнак равно Вход('Введите любой текст: п')

# Инициализировать объект bytearray строкой и кодировкой
byteArrObjзнак равно bytearray(текст, 'utf-8')
Распечатать(' пВывод метода bytesarray (): п',byteArrObj)

# Преобразовать bytearray в байты
byteObjзнак равно байты(byteArrObj)
Распечатать(' пВывод метода bytes (): п',byteObj)

# Преобразовать байтовое значение в строку с помощью emcoding
Распечатать(' пСтроковые значения байтов ')
Распечатать(byteObj.расшифровать('utf-8'))

Выход

Следующий вывод появится после запуска скрипта.

Пример 3: преобразование целочисленных данных из байтового массива в байты

В предыдущих примерах показано преобразование массива байтов и байтов на основе словарных и строковых данных. В этом третьем примере показано преобразование массива байтов в байты на основе входных данных. Здесь входное значение преобразуется в целочисленное значение и передается в качестве аргумента через функцию bytearray (), а затем объект bytearray преобразуется в объект байтов. Нулевые значения на основе целого числа показаны как выходные данные объекта bytearray и bytes. Общее количество байтов подсчитывается с помощью метода len () в конце скрипта и будет равно целочисленному значению, переданному в качестве аргумента в метод bytearray ().

#! / usr / bin / env python3

пытаться:
# Принимаем любое числовое значение
текстзнак равно int(Вход('Введите любой номер:'))

# Инициализировать объект bytearray номером
byteArrObjзнак равно bytearray(текст)
Распечатать(' пВывод метода bytesarray (): п',byteArrObj)

# Преобразовать объект bytearray в объект bytes
byteObjзнак равно байты(byteArrObj)
Распечатать(' пВывод метода bytes (): п',byteObj)

# Вывести размер объекта в байтах
Распечатать(' пДлина объекта байтов: ',len(byteObj))
Кроме ValueError:
Распечатать('Введите любое числовое значение')

Выход

После запуска сценария 6 используется в качестве входных данных для следующего вывода. Шесть нулевых значений отображаются как выходные данные массива байтов и байтов. Когда подсчитываются нулевые значения, отображается 6.

Пример 4: Создание массива байтов с помощью append () и преобразование в байты

В следующем примере показано, как объекты bytearray могут быть созданы с помощью метода append () и преобразованы в байты. Переменная arrVal объявлена ​​здесь как объект bytearray. Затем шесть раз вызывается метод append () для добавления шести элементов в массив. Коды ASCII символов ‘P,’ ‘y,’ ‘t,’ ‘h,’ ‘o,’ и ‘n,’ - 80, 121, 116, 104, 111 и 1120 соответственно. Они добавляются в объект bytearray. Этот объект массива позже преобразуется в объект байтов.

#! / usr / bin / env python3

# Создать массив байтов и добавить элемент с помощью метода append ()
arrValзнак равно bytearray()
arrVal.добавить(80)
arrVal.добавить(121)
arrVal.добавить(116)
arrVal.добавить(104)
arrVal.добавить(111)
arrVal.добавить(110)

# Распечатать значения bytearray ()
Распечатать(' пВывод метода bytearray (): п',arrVal)

# Преобразовать объект bytearray в объект bytes
byteObjectзнак равно байты(arrVal)

# Распечатать байтовое значение объекта
Распечатать(' пВывод метода bytes (): п',byteObject)

Выход

Следующий вывод появится после запуска скрипта.

Заключение

В этой статье показаны различные методы преобразования байтового массива в байты после создания объектов байтового массива. После прочтения этой статьи я надеюсь, что вы понимаете концепцию байтового массива и байтов, знаете, как преобразовать байтовый массив в байты, и сможете отображать вывод байтов в виде строки и символов.