Tukar Bytearray ke Bytes di Python

Convert Bytearray Bytes Python



Banyak jenis objek data yang disokong oleh Python. Dua daripadanya adalah objek bytearray dan bait . The bytearray () fungsi mengembalikan objek array byte. Objek ini boleh diubah dan menyokong nombor bulat dari 0 hingga 255. The bait () fungsi mengembalikan objek byte, tidak dapat diubah, dan menyokong bilangan bulat dari 0 hingga 255. Artikel ini akan menerangkan fungsi-fungsi ini dan menerangkan bagaimana bytearray objek boleh ditukar menjadi bait benda.

Kaedah sintaks bytearray ()

bytearray ([sumber data[,pengekodan[,kesilapan]]])

Ketiga-tiga hujah kaedah ini adalah pilihan. Argumen pertama digunakan untuk menginisialisasi senarai bait. Sekiranya argumen pertama adalah rentetan, maka argumen kedua digunakan untuk pengekodan. Akhirnya, argumen ketiga digunakan untuk memaparkan ralat sekiranya pengekodan gagal.







Sintaks byte () Kaedah

bait ([sumber data[,pengekodan[,kesilapan]]])

Semua hujah dari bait () fungsi adalah pilihan, seperti bytearray () kaedah. Fungsi hujah-hujah ini juga sama dengan bytearray () kaedah, yang disebutkan di atas.



Kaedah untuk menukar bytearray ke bait dalam Python ditunjukkan di bawah, menggunakan beberapa contoh mudah untuk lebih memahami proses ini.



Contoh 1: Tukar Data Senarai dari bytearray ke bait

Apabila fungsi bytearray () hanya mengandungi satu argumen, nilai argumen akan menjadi datum kamus atau pemboleh ubah. Contoh berikut menunjukkan bagaimana objek kamus dapat ditukar menjadi objek bytearray dan bagaimana objek bytearray kemudian dapat ditukar menjadi objek byte. Seterusnya, gelung pertama untuk gelung digunakan untuk menampilkan nilai-nilai jadual terjemahan kod ASCII dan yang kedua untuk gelung digunakan untuk memaparkan watak-watak kod ASCII yang sesuai.





#! / usr / bin / env python3

# Tentukan senarai
senarai data= [72, 69, 76, 76, 79]
# Cetak kandungan senarai
mencetak(' nNilai kamus adalah: n',senarai data)

# Memulakan objek bytearray dengan senarai
byteArrayObject= bytearray(senarai data)
# Cetak nilai objek bytearray
mencetak(' nKeluaran kaedah bytearray (): n',byteArrayObject)

# Tukarkan objek bytearray menjadi objek byte
byteObject= bait(byteArrayObject)
# Mencetak nilai objek byte
mencetak(' nKeluaran kaedah bytes (): n',byteObject)

mencetak(' nNilai ASCII bait ')
# Iterasi objek byte menggunakan gelung
untukjamdalambaitObjek:
mencetak(jam,'',akhir='')

mencetak(' nNilai rentetan bait ')
# Iterasi objek byte menggunakan gelung
untukjamdalambaitObjek:
mencetak(chr(jam),'',akhir='')

Pengeluaran

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



Contoh 2: Tukarkan Data Rentetan dari bytearray ke bait

Contoh berikut menunjukkan penukaran objek bytearray ke objek bait dalam data rentetan. Dua argumen digunakan dalam kaedah bytearray () skrip ini. Argumen pertama mengandungi nilai rentetan, sementara argumen kedua mengandungi rentetan pengekodan. Di sini, pengekodan ‘utf-8’ digunakan untuk menukar menjadi objek bytearray. The menyahkod () kaedah digunakan dalam skrip untuk menukar objek bait menjadi data rentetan. Pengekodan yang sama digunakan pada masa penukaran.

#! / usr / bin / env python3

# Ambil nilai rentetan
teks= input('Masukkan sebarang teks: n')

# Mulakan objek bytearray dengan rentetan dan pengekodan
byteArrObj= bytearray(teks, 'utf-8')
mencetak(' nKeluaran kaedah bytesarray (): n',byteArrObj)

# Tukar bytearray ke bait
byteObj= bait(byteArrObj)
mencetak(' nKeluaran kaedah bytes (): n',byteObj)

# Tukar nilai bait menjadi rentetan menggunakan pengekodan
mencetak(' nNilai rentetan bait ')
mencetak(byteObj.menyahkod('utf-8'))

Pengeluaran

Output berikut akan muncul setelah menjalankan skrip.

Contoh 3: Tukar Data Integer dari bytearray ke bait

Contoh sebelumnya menunjukkan penukaran bytearray dan bait berdasarkan kamus dan data rentetan. Contoh ketiga ini menunjukkan penukaran bytearray menjadi bait berdasarkan data input. Di sini, nilai input ditukar menjadi nilai integer dan diteruskan sebagai argumen melalui fungsi bytearray (), dan objek bytearray kemudian diubah menjadi objek bytes. Nilai nol berdasarkan nombor bulat ditunjukkan sebagai output dari objek bytearray dan byte. Jumlah bait dikira melalui kaedah len () di akhir skrip, dan akan sama dengan nilai integer yang dilewatkan sebagai argumen ke dalam kaedah bytearray ().

#! / usr / bin / env python3

cuba:
# Ambil sebarang nilai nombor
teks= int(input('Masukkan sebarang nombor:'))

# Memulakan objek bytearray dengan nombor
byteArrObj= bytearray(teks)
mencetak(' nKeluaran kaedah bytesarray (): n',byteArrObj)

# Tukar objek bytearray ke objek byte
byteObj= bait(byteArrObj)
mencetak(' nKeluaran kaedah bytes (): n',byteObj)

# Cetak ukuran objek byte
mencetak(' nPanjang objek byte: ',len(byteObj))
kecuali Kesalahan Nilai:
mencetak('Masukkan sebarang nilai angka')

Pengeluaran

Setelah menjalankan skrip, 6 diambil sebagai input dalam output berikut. Enam nilai nol ditampilkan sebagai output bytearray dan byte. Apabila nilai nol dikira maka ia akan dipaparkan 6.

Contoh 4: Buat bytearray Menggunakan append () dan Convert to byte

Contoh berikut menunjukkan bagaimana objek bytearray dapat dibuat melalui kaedah append () dan ditukar menjadi bait. Pemboleh ubah arrVal dinyatakan di sini sebagai objek bytearray. Seterusnya, kaedah append () dipanggil enam kali untuk menambahkan enam elemen ke dalam larik. Kod ASCII watak, 'P,' 'y,' 't,' 'h,' 'o,' dan 'n,' masing-masing adalah 80, 121, 116, 104, 111 dan 1120. Ini ditambahkan dalam objek bytearray. Objek array ini ditukar menjadi objek byte di kemudian hari.

#! / usr / bin / env python3

# Buat bytearray dan tambahkan item menggunakan kaedah append ()
arrVal= bytearray()
arrVal.tambahkan(80)
arrVal.tambahkan(121)
arrVal.tambahkan(116)
arrVal.tambahkan(104)
arrVal.tambahkan(111)
arrVal.tambahkan(110)

# Cetak nilai bytearray ()
mencetak(' nKeluaran kaedah bytearray (): n',arrVal)

# Tukarkan objek bytearray menjadi objek byte
byteObject= bait(arrVal)

# Mencetak nilai objek byte
mencetak(' nKeluaran kaedah bytes (): n',byteObject)

Pengeluaran

Output berikut akan muncul setelah menjalankan skrip.

Kesimpulannya

Pelbagai kaedah ditunjukkan dalam artikel ini untuk menukar bytearray menjadi byte setelah membuat objek bytearray. Setelah membaca artikel ini, saya harap anda memahami konsep bytearray dan bytes, mengetahui cara menukar bytearray menjadi byte, dan dapat memaparkan output byte sebagai rentetan dan watak.