Преобразувайте Bytearray в байтове в Python

Convert Bytearray Bytes Python



Много различни видове обекти от данни се поддържат от Python. Два от тях са обектите байтов ред и байтове . The bytearray () функция връща масив обект от байтове. Този обект е променлив и поддържа цяло число от 0 до 255. байтове () функцията връща байтови обекти, не се променя и поддържа целите числа от 0 до 255. Тази статия ще опише тези функции и ще обясни как байтов ред обектите могат да бъдат преобразувани байтове обекти.

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

байтов ред ([източник на данни[,кодиране[,грешки]]])

Трите аргумента на този метод са незадължителни. Първият аргумент се използва за инициализиране на списъка с байтове. Ако първият аргумент е низът, тогава вторият аргумент се използва за кодиране. И накрая, третият аргумент се използва за показване на грешката, ако кодирането се провали.







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

байтове ([източник на данни[,кодиране[,грешки]]])

Всички аргументи на байтове () функцията са незадължителни, като например bytearray () метод. Функциите на тези аргументи също са същите като bytearray () метод, споменат по -горе.



Метод за преобразуване байтов ред да се байтове в Python е показано по -долу, като се използват някои прости примери за по -добро разбиране на този процес.



Пример 1: Конвертиране на данни от списъка от байтови масиви в байтове

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





#!/usr/bin/env python3

# Определете списъка
listdata= [72, 69, 76, 76, 79]
# Отпечатайте съдържанието на списъка
печат('нРечниковите стойности са:н',listdata)

# Инициализирайте байтов масив със списък
byteArrayObject= байтов ред(listdata)
# Отпечатайте стойност на обект байтово
печат('нИзходът на метода bytearray ():н',byteArrayObject)

# Конвертирайте обекта bytearray в байт обект
byteObject= байтове(byteArrayObject)
# Печат на байтове на обектна стойност
печат('нИзходът на метода bytes ():н',byteObject)

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

печат('нНизовите стойности на байтове ')
# Итерирайте байтовия обект с помощта на цикъл
зачасвbyteObject:
печат(chr(час),'',край='')

Изход

Следният изход ще се появи след стартиране на скрипта. Тук 72, 69, 76 и 79 са ASCII кодът съответно на „H“, „E“, „L“ и „O“.



Пример 2: Конвертиране на низови данни от байтово масиво в байтове

Следващият пример показва преобразуването на байтови масивни обекти в байтови обекти в низови данни. В метода bytearray () на този скрипт се използват два аргумента. Първият аргумент съдържа стойността на низа, докато вторият аргумент съдържа кодиращия низ. Тук кодирането „utf-8“ се използва за преобразуване в обект от байтово масиво. The декодиране () метод се използва в скрипта за преобразуване на байтовите обекти в низови данни. Същото кодиране се използва по време на преобразуването.

#!/usr/bin/env python3

# Вземете стойност на низ
текст= вход('Въведете произволен текст:н')

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

# Конвертирайте байтовия масив в байтове
byteObj= байтове(byteArrObj)
печат('нИзходът на метода bytes ():н',byteObj)

# Конвертирайте стойността на байтове в низ с помощта на кодиране
печат('нНизовите стойности на байтове ')
печат(byteObj.декодиране('utf-8'))

Изход

Следният изход ще се появи след стартиране на скрипта.

Пример 3: Конвертиране на целочислени данни от байтов масив в байтове

Предишните примери показват преобразуването на байтови масиви и байтове въз основа на речникови и низови данни. Този трети пример показва преобразуването на байтовия масив в байтове въз основа на входните данни. Тук входната стойност се преобразува в цяло число и се предава като аргумент чрез функцията bytearray (), а след това обектът bytearray се преобразува в байтов обект. Нулевите стойности, базирани на цяло число, се показват като изход на байтовия масив и байтовия обект. Общият брой байтове се брои чрез метода len () в края на скрипта и ще бъде равен на целочислената стойност, предадена като аргумент в метода bytearray ().

#!/usr/bin/env python3

опитвам:
# Вземете произволно число
текст= int(вход('Въведете произволен номер:'))

# Инициализирайте байтов масив с номер
byteArrObj= байтов ред(текст)
печат('нИзходът на метода bytesarray ():н',byteArrObj)

# Конвертирайте байтов масив в байтов обект
byteObj= байтове(byteArrObj)
печат('нИзходът на метода bytes ():н',byteObj)

# Отпечатайте размера на обекта байтове
печат('нДължината на байтовия обект: ',лен(byteObj))
с изключение ValueError:
печат(„Въведете произволна цифрова стойност“)

Изход

След стартиране на скрипта, 6 се приема като вход в следния изход. Шестте нулеви стойности се извеждат като изходни данни от байтови масиви и байтове. Когато нулевите стойности се броят, тогава се показва 6.

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

Следващият пример показва как обектите от байтови масиви могат да бъдат създадени чрез метода append () и преобразувани в байтове. Променливата arrVal е декларирана тук като байтов масив. След това методът append () се извиква шест пъти за добавяне на шест елемента в масива. Кодовете ASCII на знаците „P“, „y“, „t“, „h“, „o“ и „n“ са съответно 80, 121, 116, 104, 111 и 1120. Те се добавят в обекта bytearray. Този масив обект се преобразува по -късно в байтов обект.

#!/usr/bin/env python3

# Създайте байтов масив и добавете елемент, като използвате метода append ()
arrVal= байтов ред()
arrVal.добавям(80)
arrVal.добавям(121)
arrVal.добавям(116)
arrVal.добавям(104)
arrVal.добавям(111)
arrVal.добавям(110)

# Отпечатайте стойностите на bytearray ()
печат('нИзходът на метода bytearray ():н',arrVal)

# Конвертирайте байтовия масив в байтов обект
byteObject= байтове(arrVal)

# Печат на байтове на обектна стойност
печат('нИзходът на метода bytes ():н',byteObject)

Изход

Следният изход ще се появи след стартиране на скрипта.

Заключение

В тази статия са показани различни методи за преобразуване на байтови масиви в байтове след създаване на обекти от байтови масиви. След като прочетете тази статия, се надявам, че разбирате концепцията за байтови масиви и байтове, знаете как да конвертирате байтови масиви в байтове и ще можете да показвате изхода на байтове като низ и знаци.