Поиск по сайту:
Машины скорее обнаруживают наличие беспорядка, чем наводят порядок. (Алан.Дж.Перлис)

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

16.02.2021
Python 3 - Обзор

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

 

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

bytearray ([ data_source [, encoding [, errors]]])

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

 

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

bytes ([data_source [, encoding [, errors]]])

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

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

 

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

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

#!/usr/bin/env python3

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

# Инициализировать объект ByteArray , со списком
byteArrayObject = ByteArray(ListData)
# печать ByteArray, значение объекта
print(" \n выходной метод ByteArray(): \n" ,byteArrayObject)

# Преобразование объекта bytearray в объект 
byteObject = bytes(byteArrayObject)
# Печать значения объекта байтов
print(" \n Вывод метода bytes(): \n ", byteObject)

print(" \n Значения байтов в формате ASCII ")
# Итерировать байтовый объект, используя цикл
for val in byteObject:
print(val,' ', end='')

print( " \n Строковые значения байтов")
# Итерировать байтовый объект, используя цикл
for val in byteObject:
print(chr(val),' ', end='')

Выход

Читать  Python. NumPy pad()

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

 

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

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

#!/usr/bin/env python3

# Возьмите строковое значение
text = input("Введите любой текст: \n")

# Инициализировать ByteArray объект строки и кодирование
byteArrObj = ByteArray(text, 'UTF-8')
print(" \n Вывод метода bytesarray(): \n ", byteArrObj)

# Конвертировать bytearray в байты
byteObj = bytes(byteArrObj)
print(" \n Вывод метода bytes(): \n", byteObj)
# Преобразовать байты значения в строку, используя emcoding
print(" \n Строку значения байт»)
print(byteObj.Decode("UTF-8"))

 

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

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

#!/usr/bin/env python3

попробовать :
# Возьмем любое числовое значение
text = int(input("Введите любое число:"))

# Инициализировать ByteArray объект с номером
byteArrObj = bytearray(text)
print("\n Вывод метода bytesarray(): \n ", byteArrObj)

# Преобразование объекта
byteObj = bytes(byteArrObj)
print(" \n Вывод метода bytes(): \n ", byteObj)

# Распечатать размер объекта байтов
print(" \n Длина объекта байтов: ", len(byteObj))
except ValueError:
print(" Введите любое число значение ")

Выход

Читать  Уязвимости состояния гонки в веб-приложениях

После запуска сценария 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

# Создание ByteArray и добавить элемент, используя метод добавления()
arrVal = bytearray()
arrVal.append(80)
arrVal.append(121)
arrVal.append(116)
arrVal.append(104)
arrVal.append(111)
arrVal.append(110)

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

# Преобразование объекта bytearray в объект
byteObject = bytes(arrVal)

# Печать значения объекта байтов
print(" \n Вывод метода bytes(): \n ", byteObject)

 

Вывод

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Как вам платят как партнерскому маркетологу? Партнерские маркетологи подают заявки…

Спасибо!

Теперь редакторы в курсе.