Python

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

Преобразование Bytearray в байты в 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]
# Распечатать содержимое списка
print ("\ nСловарные значения: \ n", listdata)
 
# Инициализировать объект bytearray списком
byteArrayObject = bytearray (данные списка)
# Вывести значение объекта bytearray
print ("\ nВыход метода bytearray (): \ n", byteArrayObject)
 
# Преобразовать объект bytearray в объект bytes
byteObject = байты (byteArrayObject)
# Распечатать байтовое значение объекта
print ("\ nВыход метода bytes (): \ n", byteObject)
 
print ("\ nЗначения байтов ASCII")
# Итерировать байтовый объект с помощью цикла
для val в byteObject:
print (val, ", конец =")
 
print ("\ nСтроковые значения байтов")
# Итерировать байтовый объект с помощью цикла
для val в byteObject:
print (chr (val), ", end =")

Выход

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

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

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

#!/ usr / bin / env python3
 
# Принимаем строковое значение
text = input ("Введите любой текст: \ n")
 
# Инициализировать объект bytearray строкой и кодировкой
byteArrObj = bytearray (текст, 'utf-8')
print ("\ nВыход метода bytesarray (): \ n", byteArrObj)
 
# Преобразовать байтовый массив в байты
byteObj = байты (byteArrObj)
print ("\ nВыход метода bytes (): \ n", byteObj)
 
# Преобразовать байтовое значение в строку с помощью emcoding
print ("\ nСтроковые значения байтов")
печать (byteObj.декодировать ("utf-8"))

Выход

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

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

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

#!/ usr / bin / env python3
 
пытаться:
# Принимаем любое числовое значение
text = int (input ("Введите любое число:"))
 
# Инициализировать объект bytearray номером
byteArrObj = bytearray (текст)
print ("\ nВыход метода bytesarray (): \ n", byteArrObj)
 
# Преобразовать объект bytearray в объект bytes
byteObj = байты (byteArrObj)
print ("\ nВыход метода bytes (): \ n", byteObj)
 
# Вывести размер объекта в байтах
print ("\ nДлина объекта байтов:", len (byteObj))
кроме 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
# Создать массив байтов и добавить элемент с помощью метода append ()
arrVal = bytearray ()
arrVal.добавить (80)
arrVal.добавить (121)
arrVal.добавить (116)
arrVal.добавить (104)
arrVal.добавить (111)
arrVal.добавить (110)
 
# Распечатать значения bytearray ()
print ("\ nВыход метода bytearray (): \ n", arrVal)
 
# Преобразовать объект bytearray в объект bytes
byteObject = байты (arrVal)
 
# Распечатать байтовое значение объекта
print ("\ nВыход метода bytes (): \ n", byteObject)

Выход

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

Заключение

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

Как изменить левую и правую кнопки мыши на ПК с Windows 10
Совершенно нормально, что все устройства компьютерной мыши эргономичны для правшей. Но есть мышиные устройства, специально разработанные для левшей ил...
Эмуляция щелчков мыши с помощью мыши без щелчка в Windows 10
Использование мыши или клавиатуры в неправильной позе или чрезмерное использование может привести к множеству проблем со здоровьем, включая растяжение...
Добавьте жесты мыши в Windows 10 с помощью этих бесплатных инструментов
В последние годы компьютеры и операционные системы сильно эволюционировали. Было время, когда пользователям приходилось использовать команды для навиг...