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