Anda pasti sudah belajar tentang berbagai tipe data di python seperti string dan tipe data numerik seperti bilangan bulat dan angka floating point. Pada artikel ini Anda akan belajar tentang tipe data lain yang disebut byte. Anda akan mempelajari konsep dasar di balik byte di python dan akan mengimplementasikan berbagai jenis operasi pada byte untuk memahami konsepnya
Apa itu byte dalam Python?
Secara umum, ketika kami menyimpan data apa pun di penyimpanan sekunder, itu dikodekan menurut jenis pengkodean tertentu seperti ASCII, UTF-8, dan UTF-16 untuk string, PNG, JPG, dan JPEG untuk gambar, serta mp3 dan wav untuk audio . Saat kami mengakses data lagi menggunakan operasi file baca python, itu diterjemahkan ke dalam teks, gambar, atau audio yang sesuai. Objek byte berisi data yang dapat dibaca mesin dan kita dapat menyimpan objek byte langsung ke penyimpanan sekunder.
Dalam python, kita dapat secara eksplisit membuat objek byte dari data lain seperti daftar, string, dll
Bagaimana cara membuat byte dengan Python?
Untuk membuat objek byte kita dapat menggunakan fungsi bytes(). Fungsi bytes() mengambil tiga parameter sebagai input yang semuanya opsional. Objek yang harus diubah menjadi byte dilewatkan sebagai parameter pertama. Parameter kedua dan ketiga hanya digunakan jika parameter pertama adalah string. Dalam hal ini, parameter kedua adalah pengkodean string dan parameter ketiga adalah nama respons kesalahan yang dijalankan saat pengkodean gagal. Fungsi bytes() mengembalikan objek byte yang tidak dapat diubah. Pada bagian selanjutnya, kita akan memahami cara kerja fungsi bytes() dengan membuat objek byte dari objek data yang berbeda
Buat objek byte dengan ukuran tertentu
Untuk membuat objek bytes dengan ukuran tertentu, kita akan meneruskan ukuran sebagai input ke metode bytes() dan objek bytes dengan ukuran yang diperlukan dibuat yang diinisialisasi ke semua nol. Hal ini dapat dipahami dari contoh berikut
bytes_obj = bytes(10) print("The bytes object is:", bytes_obj) print("Size of the bytes object is:", len(bytes_obj) )Keluaran
The bytes object is: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' Size of the bytes object is: 10_Mengkonversi String ke byte
Untuk mengonversi string ke objek bytes, kami akan meneruskan string sebagai input pertama dan mengkodekan sebagai input kedua ke fungsi bytes(). Ada juga argumen ketiga untuk respons kesalahan tetapi saat ini dapat dihindari demi kesederhanaan. Fungsi mengembalikan objek byte dengan string yang disandikan. Hal ini dapat dipahami sebagai berikut
myString = "Pythonforbeginners.com" print("The given string is:" , myString) bytes_obj = bytes(myString , "UTF-8") print("The bytes object is:", bytes_obj) print("Size of the bytes object is:", len(bytes_obj) )Keluaran
The given string is: Pythonforbeginners.com The bytes object is: b'Pythonforbeginners.com' Size of the bytes object is: 22Mengonversi daftar menjadi byte
Kami juga dapat mengonversi objek yang dapat diubah seperti list atau tuple ke objek bytes menggunakan fungsi bytes(). Untuk melakukan operasi ini, kita cukup meneruskan objek iterable ke fungsi bytes() yang mengembalikan objek bytes yang sesuai. Ingatlah bahwa objek bytes tidak dapat diubah dan tidak dapat dimodifikasi. Kita dapat mengonversi daftar menjadi byte menggunakan fungsi bytes() sebagai berikut
myList = [1,2,3,4,5] print("The given list is:" , myList) bytes_obj = bytes(myList) print("The bytes object is:", bytes_obj) print("Size of the bytes object is:", len(bytes_obj) )_Keluaran
The given list is: [1, 2, 3, 4, 5] The bytes object is: b'\x01\x02\x03\x04\x05' Size of the bytes object is: 5Ingatlah bahwa daftar yang diteruskan ke fungsi bytes() hanya boleh berisi elemen. Melewati daftar s dengan angka atau string floating point akan menyebabkan fungsi bytes() melempar TypeError
Kesimpulan
Pada artikel ini, kita telah melihat apa itu objek bytes dan bagaimana kita dapat membuat objek byte dari iterables dan string menggunakan metode bytes(). Kami juga dapat menulis program yang digunakan dalam artikel ini dengan penanganan pengecualian menggunakan python try kecuali untuk membuat program lebih kuat dan menangani kesalahan secara sistematis. Nantikan artikel yang lebih informatif
Terkait
Pelatihan Python yang Direkomendasikan
Kursus. Python 3 Untuk Pemula
Lebih dari 15 jam konten video dengan instruksi terpandu untuk pemula. Pelajari cara membuat aplikasi dunia nyata dan kuasai dasar-dasarnya
Fungsi python byte() mengonversi objek menjadi objek yang diwakili oleh byte yang tidak dapat diubah dengan ukuran dan data tertentu
Sintaksis. byte(src, enc, err)
Parameter.
- src. Objek sumber yang harus dikonversi
- enc. Pengkodean yang diperlukan dalam objek case adalah string
- berbuat salah. Cara menangani kesalahan jika konversi string gagal
Pengembalian. Byte objek tetap yang terdiri dari unicode 0-256 karakter sesuai dengan tipe src.
- bilangan bulat. Mengembalikan array ukuran yang diinisialisasi ke nol
- dapat diubah. Mengembalikan array dengan ukuran yang dapat diubah dengan elemen yang sama dengan elemen yang dapat diubah ( 0-256 )
- rangkaian. Mengembalikan acc string yang disandikan. ke enc dan jika penyandian gagal, lakukan tindakan sesuai dengan kesalahan yang ditentukan
- tidak ada argumen. Mengembalikan array ukuran 0
Contoh python bytes()
Contoh 1. Mengkonversi string ke byte
Dalam contoh ini, kita akan mengonversi string menjadi byte menggunakan fungsi Python bytes(), untuk ini kita mengambil variabel dengan string dan meneruskannya ke fungsi bytes() dengan parameter UTF-8. UTF-8 mampu menyandikan semua 1.112.064 poin kode karakter yang valid di Unicode menggunakan satu hingga empat unit kode satu byte
Python3
# python code demonstrating
# int to bytes
str = "Welcome to Geeksforgeeks"
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'0= b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'2strb'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'4b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'5b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'6
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'7b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'8
Keluaran
b'Welcome to Geeksforgeeks'Contoh 2. Array byte dari integer
Dalam contoh ini, kita akan melihat cara mendapatkan array byte dari integer menggunakan fungsi Python bytes(), untuk ini kita akan meneruskan integer ke dalam fungsi bytes()
Python3
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'_9
# int to bytes
________15______1= b''3
________15______4= b''6
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'7b''8
Keluaran
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'_Contoh 3. Parameter kosong dengan byte()
Ketika kita tidak melewatkan apa pun dalam fungsi bytes() maka ia akan membuat array berukuran 0
Python3
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'7Byte conversion with no arguments : b'' The integer conversion results in : b'\x00\x00\x00\x00' The iterable conversion results in : b'\x01\x02\x03\x04\x05'0
Keluaran
b''Contoh 4. Mendemonstrasikan byte() pada integer, none dan iterables
Python3
Byte conversion with no arguments : b'' The integer conversion results in : b'\x00\x00\x00\x00' The iterable conversion results in : b'\x01\x02\x03\x04\x05'_1
Byte conversion with no arguments : b'' The integer conversion results in : b'\x00\x00\x00\x00' The iterable conversion results in : b'\x01\x02\x03\x04\x05'_2
Byte conversion with no arguments : b'' The integer conversion results in : b'\x00\x00\x00\x00' The iterable conversion results in : b'\x01\x02\x03\x04\x05'_3
Byte conversion with no arguments : b'' The integer conversion results in : b'\x00\x00\x00\x00' The iterable conversion results in : b'\x01\x02\x03\x04\x05'4= Byte conversion with no arguments : b'' The integer conversion results in : b'\x00\x00\x00\x00' The iterable conversion results in : b'\x01\x02\x03\x04\x05'6
Byte conversion with no arguments : b'' The integer conversion results in : b'\x00\x00\x00\x00' The iterable conversion results in : b'\x01\x02\x03\x04\x05'7= Byte conversion with no arguments : b'' The integer conversion results in : b'\x00\x00\x00\x00' The iterable conversion results in : b'\x01\x02\x03\x04\x05'9Byte conversion with ignore error : b'GeeksfrGeeks' Byte conversion with replace error : b'Geeksf?rGeeks'0b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'4Byte conversion with ignore error : b'GeeksfrGeeks' Byte conversion with replace error : b'Geeksf?rGeeks'2b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'4Byte conversion with ignore error : b'GeeksfrGeeks' Byte conversion with replace error : b'Geeksf?rGeeks'4b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'4Byte conversion with no arguments : b'' The integer conversion results in : b'\x00\x00\x00\x00' The iterable conversion results in : b'\x01\x02\x03\x04\x05'6b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'4The given string is: Pythonforbeginners.com The bytes object is: b'Pythonforbeginners.com' Size of the bytes object is: 2232______9
# python code demonstrating0
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'7 # python code demonstrating2# python code demonstrating3 # python code demonstrating4 str# python code demonstrating6
# python code demonstrating7
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'7 # python code demonstrating2# int to bytes0 # python code demonstrating4 str# int to bytes3
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'7 # python code demonstrating2# int to bytes6 # python code demonstrating4 str# int to bytes9
Keluaran.
Perilaku Byte dengan String
Byte menerima string sebagai argumen dan memerlukan skema pengkodean untuk menjalankannya. Aspek yang paling penting dari hal ini adalah menangani kesalahan jika terjadi kegagalan pengkodean, beberapa skema penanganan kesalahan yang ditentukan adalah.
Penangan Kesalahan String.
- ketat. Meningkatkan UnicodeDecodeError default jika terjadi kegagalan penyandian
- mengabaikan. Abaikan karakter yang tidak dapat dikodekan dan enkode string yang tersisa
- mengganti. Mengganti karakter yang tidak dapat dikodekan dengan '?'
Contoh. Demonstrasi bytes() menggunakan string
Python3
Byte conversion with no arguments : b'' The integer conversion results in : b'\x00\x00\x00\x00' The iterable conversion results in : b'\x01\x02\x03\x04\x05'_1
str1
str2
str3= str5
str6
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'7# python code demonstrating2str9 # python code demonstrating4
=1str=3=4=5==7=8
=_9
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'7# python code demonstrating2"Welcome to Geeksforgeeks"2 # python code demonstrating4
________59______1str=3=4=5=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'00=8
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'_02
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'_03
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'7# python code demonstrating2b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'06 # python code demonstrating4
________59______1str=3=4=5=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'14=8
Keluaran.
Byte conversion with ignore error : b'GeeksfrGeeks' Byte conversion with replace error : b'Geeksf?rGeeks'Pengecualian.
UnicodeEncodeError. codec 'ascii' tidak dapat menyandikan karakter '\xd6' di posisi 6. ordinal tidak dalam jangkauan(128)
Bagaimana Anda menulis byte dengan Python?
Tulis Byte ke File dengan Python . O pena file dalam mode tulis biner lalu tentukan konten yang akan ditulis dalam bentuk byte . Selanjutnya, gunakan fungsi tulis untuk menulis konten byte ke file biner.Apa itu objek byte di Python?
String dan Data Karakter dengan Python . Objek byte adalah urutan nilai byte tunggal yang tidak dapat diubah . Setiap elemen dalam objek bytes adalah bilangan bulat kecil dalam kisaran 0 hingga 255.Bagaimana cara membaca byte dengan Python?
Anda dapat menggunakan bin(ord('b')) . replace('b', '') bin() itu memberi Anda representasi biner dengan 'b' setelah bit terakhir, Anda harus menghapusnya. Juga ord() memberi Anda nomor ASCII ke karakter kode char atau 8-bit/1 Byte.Apa ukuran byte di Python?
Satu byte adalah lokasi memori dengan ukuran 8 bit . Objek byte adalah urutan byte yang tidak dapat diubah, secara konseptual mirip dengan string.