Trong Python 2, cả str và byte đều là cùng một đối tượng typeByte trong khi đó, trong Python 3 các đối tượng Byte được định nghĩa được định nghĩa là string byte và tương tự như các đối tượng unicode trong Python 2. Tuy nhiên, có nhiều sự khác biệt giữa những string và Đối tượng byte. Một số trong số chúng được mô tả dưới đây:

  • Các đối tượng Byte là string Byte , trong khi String là string ký tự .
  • Các đối tượng byte ở dạng máy có thể đọc được bên trong, String chỉ ở dạng người có thể đọc được .
  • Vì các đối tượng Byte có thể đọc được bằng máy, nên chúng có thể được lưu trữ trực tiếp trên đĩa. Trong khi đó, String cần được mã hóa trước khi chúng có thể được lưu trữ trên đĩa.
  • Có các phương thức để chuyển đổi một đối tượng byte thành String và String thành các đối tượng byte.

1. Mã hóa

PNG, JPEG, MP3, WAV, ASCII, UTF-8, vv là các dạng mã hóa khác nhau. Mã hóa là một định dạng để biểu hiện âm thanh, hình ảnh, văn bản, vv theo byte. Chuyển đổi string

thành các đối tượng byte được gọi là mã hóa. Đây là điều cần thiết để văn bản có thể được lưu trữ trên đĩa bằng cách sử dụng ánh xạ, các kỹ thuật mã hóa ASCII hoặc UTF-8.

Nhiệm vụ này đạt được bằng cách sử dụng phương thức encode(). Nó lấy kỹ thuật mã hóa làm đối số. Kỹ thuật mặc định là kỹ thuật UTF-8.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Group: https://www.facebook.com/groups/cafedev.vn/
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
#Pinterest: https://www.pinterest.com/cafedevvn/
#YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
# -----------------------------------------------------------


# Python code to demonstate String encoding 
  
# initialising a String  
a = 'Cafedev'
  
# initialising a byte object 
c = b'Cafedev'
  
# using encode() to encode the String 
# encoded version of a is stored in d 
# using ASCII mapping 
d = a.encode('ASCII') 
  
# checking if a is converted to bytes or not 
if (d==c): 
    print ("Encoding successful") 
else : print ("Encoding Unsuccessful") 

Kết quả:

Encoding successful

2. Giải mã

Tương tự, Giải mã là quá trình chuyển đổi một đối tượng Byte thành String. Nó được thực hiện bằng cách sử dụng phương thức decode(). Một string byte có thể được giải mã trở lại thành một string ký tự, nếu bạn biết mã hóa nào đã được sử dụng để mã hóa nó. Mã hóa và giải mã là các quá trình nghịch đảo nhau.


# Python code to demonstate Byte Decoding 
  
# initialising a String  
a = 'Cafedev'
  
# initialising a byte object 
c = b'Cafedev'
  
# using decode() to decode the Byte object 
# decoded version of c is stored in d 
# using ASCII mapping 
d = c.decode('ASCII') 
  
# checking if c is converted to String or not 
if (d==a): 
    print ("Decoding successful") 
else : print ("Decoding Unsuccessful") 

Kết quả:

Decoding successful

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!