Python

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

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

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

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

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

Синтаксис на байтовете () Метод

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

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

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

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

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

#!/ usr / bin / env python3
 
# Определете списъка
listdata = [72, 69, 76, 76, 79]
# Отпечатайте съдържанието на списъка
print ("\ nРечниковите стойности са: \ n", listdata)
 
# Инициализирайте байтарен обект със списък
byteArrayObject = bytearray (listdata)
# Отпечатайте стойност на обект на байтарен масив
print ("\ nИзходът на метода bytearray (): \ n", byteArrayObject)
 
# Конвертирайте обекта bytearray в байт обект
byteObject = байтове (byteArrayObject)
# Отпечатайте байтовата стойност на обекта
print ("\ nМетодът на извеждане на байтове (): \ n", byteObject)
 
print ("\ nСтойностите на ASCII от байтове")
# Итерация на байтовия обект с помощта на цикъл
за val в byteObject:
печат (val, ", end =")
 
print ("\ nНизовите стойности на байтовете")
# Итерация на байтовия обект с помощта на цикъл
за val в byteObject:
печат (chr (val), ", end =")

Изход

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

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

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

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

Изход

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

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

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

#!/ usr / bin / env python3
 
опитвам:
# Вземете произволна числова стойност
text = int (input ("Въведете произволно число:"))
 
# Инициализирайте байтарен обект с номер
byteArrObj = bytearray (текст)
print ("\ nИзходът на метода bytesarray (): \ n", byteArrObj)
 
# Преобразуване на байтарен обект в байт обект
byteObj = байтове (byteArrObj)
print ("\ nМетодът за извеждане на байтове (): \ n", byteObj)
 
# Отпечатайте размера на байтовия обект
print ("\ nДължината на байт обекта:", len (byteObj))
с изключение на ValueError:
print ("Въведете всяка цифрова стойност")

Изход

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

Пример 4: Създаване на bytearray с помощта на append () и Convert to bytes

Следващият пример показва как bytearray обекти могат да бъдат създадени чрез метода append () и конвертирани в байтове. Променливата arrVal е декларирана тук като байтарен обект. След това методът 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 в байт обект
byteObject = байтове (arrVal)
 
# Отпечатайте байтовата стойност на обекта
print ("\ nМетодът на извеждане на байтове (): \ n", byteObject)

Изход

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

Заключение

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

Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...
0 А.д. Урок
От многото стратегически игри, 0 A.д. успява да се открои като изчерпателно заглавие и много дълбока, тактическа игра, въпреки че е с отворен код. Раз...
Урок за Unity3D
Въведение в Unity 3D Unity 3D е мощен двигател за разработка на игри. Това е кръстосана платформа, която ви позволява да създавате игри за мобилни уст...