Mengonversi Bytearray ke Bytes dengan Python

Banyak jenis objek data yang berbeda didukung oleh Python. Dua di antaranya adalah objeknyabytearray dan bytes. Itubytearray()fungsi mengembalikan objek array byte. Objek ini dapat diubah dan mendukung bilangan bulat dari 0 hingga 255bytes() fungsi mengembalikan objek byte, tidak dapat diubah, dan mendukung bilangan bulat dari 0 hingga 255. Artikel ini akan menjelaskan fungsi-fungsi ini dan menjelaskan caranya bytearray benda dapat diubah menjadi bytes objek.

Sintaks dari bytearray() Metode

bytearray ([ data_source [, encoding [, errors]]])

Tiga argumen dari metode ini adalah opsional. Argumen pertama digunakan untuk menginisialisasi daftar byte. Jika argumen pertama adalah string, maka argumen kedua digunakan untuk encoding. Terakhir, argumen ketiga digunakan untuk menampilkan error jika penyandian gagal.

Sintaks byte() Metode

bytes ([data_source [, encoding [, errors]]])

Semua argumen dari bytes() fungsi adalah opsional, seperti bytearray()metode. Fungsi dari argumen ini juga sama denganbytearray() metode, disebutkan di atas.

Metode untuk mengonversi bytearray ke bytes dalam Python ditunjukkan di bawah ini, menggunakan beberapa contoh sederhana untuk pemahaman yang lebih baik tentang proses ini.

Contoh 1: Konversi Data Daftar dari bytearray ke byte

Ketika fungsi bytearray() hanya berisi satu argumen, nilai argumen akan menjadi datum atau variabel kamus. Contoh berikut menunjukkan bagaimana objek kamus dapat diubah menjadi objek bytearray dan bagaimana objek bytearray kemudian dapat diubah menjadi objek byte. Selanjutnya, loop for pertama digunakan untuk menampilkan nilai tabel terjemahan kode ASCII dan loop for kedua digunakan untuk menampilkan karakter kode ASCII yang sesuai.

#!/usr/bin/env python3
 
# Define the list
listdata = [72, 69, 76, 76, 79]
# Print the content of the list
print("ndictionary values are :n", listdata)
 
# Initialize bytearray object with list
byteArrayObject = bytearray(listdata)
# Print bytearray object value
print("noutput of bytearray() method :n", byteArrayObject)
 
# Convert the bytearray object into  bytes object
byteObject = bytes(byteArrayObject)
# Print bytes object value
print("noutput of bytes() method :n", byteObject)
 
print("nASCII values of bytes")
# Iterate the bytes object using loop
for val in byteObject:
  print(val,' ', end='')
 
print("nstring values of bytes")
# Iterate the bytes object using loop
for val in byteObject:
  print(chr(val),' ', end='')

Keluaran

Output berikut akan muncul setelah menjalankan skrip. Di sini, 72, 69, 76, dan 79 masing-masing adalah kode ASCII dari ‘H,’ ‘E,’ ‘L,’ dan ‘O,’.

Contoh 2: Konversi Data String dari bytearray ke byte

Contoh berikut menunjukkan konversi objek bytearray ke objek byte dalam data string. Dua argumen digunakan dalam metode bytearray() dari skrip ini. Argumen pertama berisi nilai string, sedangkan argumen kedua berisi string encoding. Di sini, pengkodean ‘utf-8’ digunakan untuk mengubah menjadi objek bytearray. Itudecode()metode yang digunakan dalam skrip untuk mengubah objek byte menjadi data string. Encoding yang sama digunakan pada saat konversi.

#!/usr/bin/env python3
 
# Take a string value
text = input("Enter any text:n")
 
# Initialize bytearray object with string and encoding
byteArrObj = bytearray(text, 'utf-8')
print("noutput of bytesarray() method :n", byteArrObj)
 
# Convert bytearray to bytes
byteObj = bytes(byteArrObj)
print("noutput of bytes() method :n", byteObj)
 
# Convert bytes value into string using emcoding
print("nstring values of bytes")
print(byteObj.decode("utf-8"))

Keluaran

Output berikut akan muncul setelah menjalankan skrip.

Contoh 3: Konversikan Data Integer dari bytearray ke byte

Contoh sebelumnya menunjukkan konversi bytearray dan byte berdasarkan kamus dan data string. Contoh ketiga ini menunjukkan konversi bytearray menjadi byte berdasarkan data input. Di sini, nilai input diubah menjadi nilai integer dan diteruskan sebagai argumen melalui fungsi bytearray(), dan objek bytearray kemudian diubah menjadi objek byte. Nilai null berdasarkan bilangan bulat ditampilkan sebagai output dari objek bytearray dan byte. Jumlah total byte dihitung melalui metode len() di akhir skrip, dan akan sama dengan nilai integer yang diteruskan sebagai argumen ke dalam metode bytearray().

#!/usr/bin/env python3
 
try:
  # Take any number value
  text = int(input("Enter any number:  "))
 
  # Initialize bytearray object with number
  byteArrObj = bytearray(text)
  print("noutput of bytesarray() method :n", byteArrObj)
 
  # Convert bytearray object to bytes object
  byteObj = bytes(byteArrObj)
  print("noutput of bytes() method :n", byteObj)
 
  # Print the size of the bytes object
  print("nlenght of the bytes object: ",len(byteObj))
except ValueError:
  print("Enter any numeric value")

Keluaran

Setelah menjalankan skrip, 6 diambil sebagai input pada output berikut. Enam nilai null ditampilkan sebagai output dari bytearray dan byte. Ketika nilai null dihitung maka ditampilkan 6.

Contoh 4: Buat bytearray Menggunakan append() dan Konversikan ke byte

Contoh berikut menunjukkan bagaimana objek bytearray dapat dibuat melalui metode append() dan diubah menjadi byte. Variabel arrVal dideklarasikan di sini sebagai objek bytearray. Selanjutnya, metode append() dipanggil enam kali untuk menambahkan enam elemen ke dalam array. Kode ASCII dari karakter, ‘P,’ ‘y,’ ‘t,’ ‘h,’ ‘o,’ dan ‘n,’ berturut-turut adalah 80, 121, 116, 104, 111 dan 1120. Ini ditambahkan dalam objek bytearray. Objek array ini nantinya akan diubah menjadi objek byte.

#!/usr/bin/env python3

# Create bytearray and add item using append() method
arrVal = bytearray()
arrVal.append(80)
arrVal.append(121)
arrVal.append(116)
arrVal.append(104)
arrVal.append(111)
arrVal.append(110)
 
# Print the bytearray() values
print("noutput of bytearray() method :n", arrVal)
 
# Convert the bytearray object into a bytes object
byteObject = bytes(arrVal)
 
# Print bytes object value
print("noutput of bytes() method :n", byteObject)

Keluaran

Output berikut akan muncul setelah menjalankan skrip.

Kesimpulan

Berbagai metode ditampilkan dalam artikel ini untuk mengonversi bytearray ke byte setelah membuat objek bytearray. Setelah membaca artikel ini, saya harap Anda memahami konsep bytearray dan byte, mengetahui cara mengubah bytearray menjadi byte, dan dapat menampilkan output byte sebagai string dan karakter.

Related Posts