Python

Tukar Bytearray ke Bytes di Python

Tukar Bytearray ke Bytes di 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 ([data_source [, pengekodan [, kesalahan]]])

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 ([data_sumber [, pengekodan [, kesalahan]]])

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. Selanjutnya, 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
listdata = [72, 69, 76, 76, 79]
# Cetak kandungan senarai
cetak ("\ nNilai kamus adalah: \ n", listdata)
 
# Permulaan objek bytearray dengan senarai
byteArrayObject = bytearray (listdata)
# Cetak nilai objek bytearray
cetak ("\ nKeluaran kaedah bytearray (): \ n", byteArrayObject)
 
# Tukarkan objek bytearray menjadi objek byte
byteObject = bait (byteArrayObject)
# Mencetak nilai objek byte
cetak ("\ nKeluaran kaedah byte (): \ n", byteObject)
 
cetak ("\ nNilai ASCII bait")
# Iterasi objek byte menggunakan gelung
untuk val in byteObject:
cetak (val, ", end =")
 
cetak ("\ n Nilai rentetan byte")
# Iterasi objek byte menggunakan gelung
untuk val in byteObject:
cetak (chr (val), ", end =")

Pengeluaran

Output berikut akan muncul setelah menjalankan skrip. Di sini, 72, 69, 76, dan 79 adalah kod ASCII '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
text = input ("Masukkan teks apa pun: \ n")
 
# Mulakan objek bytearray dengan rentetan dan pengekodan
byteArrObj = bytearray (teks, 'utf-8')
cetak ("\ nKeluaran kaedah bytesarray (): \ n", byteArrObj)
 
# Tukar bytearray menjadi bait
byteObj = bait (byteArrObj)
cetak ("\ nKeluaran kaedah byte (): \ n", byteObj)
 
# Tukar nilai bait menjadi rentetan menggunakan pengekodan
cetak ("\ n Nilai rentetan byte")
cetak (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 diubah 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 (masukan ("Masukkan sebarang nombor:"))
 
# Memulakan objek bytearray dengan nombor
byteArrObj = bytearray (teks)
cetak ("\ nKeluaran kaedah bytesarray (): \ n", byteArrObj)
 
# Tukar objek bytearray ke objek byte
byteObj = bait (byteArrObj)
cetak ("\ nKeluaran kaedah byte (): \ n", byteObj)
 
# Cetak ukuran objek byte
cetak ("\ nLebih panjang objek byte:", len (byteObj))
kecuali ValueError:
cetak ("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 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 ()
cetak ("\ nKeluaran kaedah bytearray (): \ n", arrVal)
 
# Tukarkan objek bytearray menjadi objek byte
byteObject = bait (arrVal)
 
# Mencetak nilai objek byte
cetak ("\ nKeluaran kaedah byte (): \ 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.

Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...
Pasang Dolphin Emulator terkini untuk Gamecube & Wii di Linux
Dolphin Emulator membolehkan anda memainkan permainan Gamecube & Wii pilihan anda di Komputer Peribadi Linux (PC). Menjadi emulator permainan sumber ...
Cara Menggunakan Mesin Cheat GameConqueror di Linux
Artikel ini merangkumi panduan mengenai penggunaan mesin cheat GameConqueror di Linux. Ramai pengguna yang bermain permainan di Windows sering menggun...