Синтаксис метода 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)
Выход
Следующий вывод появится после запуска скрипта.
Заключение
В этой статье показаны различные методы преобразования байтового массива в байты после создания объектов байтового массива. После прочтения этой статьи я надеюсь, что вы понимаете концепцию байтового массива и байтов, знаете, как преобразовать байтовый массив в байты, и сможете отображать вывод байтов в виде строки и символов.