Apakah ada tipe byte di python?

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

Apakah ada tipe byte di python?

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: 22

Mengonversi 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: 5

Ingatlah 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'
2str
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
4
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
5
b'\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'
7
b'\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'
7
b''
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'
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'
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'
9
Byte conversion with ignore error : b'GeeksfrGeeks'
Byte conversion with replace error : b'Geeksf?rGeeks'
0
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
4
Byte conversion with ignore error : b'GeeksfrGeeks'
Byte conversion with replace error : b'Geeksf?rGeeks'
2
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
4
Byte conversion with ignore error : b'GeeksfrGeeks'
Byte conversion with replace error : b'Geeksf?rGeeks'
4
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
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
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
4
The given string is: Pythonforbeginners.com
The bytes object is: b'Pythonforbeginners.com'
Size of the bytes object is: 22
32______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 bytes# 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 bytes# python code demonstrating4 str# int to bytes9

Keluaran.  
 

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'

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 demonstrating2
b'\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.