Computer >> Máy Tính >  >> Lập trình >> Python

Đối tượng Byte so với chuỗi trong Python

Vì máy tính chỉ có thể lưu trữ byte dữ liệu nên chúng ta cần chuyển đổi các định dạng dữ liệu khác nhau sang định dạng dữ liệu byte. Ví dụ:hình ảnh trở thành byte, được lưu trữ bằng PNG, JPEG, v.v. Tương tự, nhạc được lưu trữ dưới dạng .WAV, .MP3, v.v. Phần mềm chịu trách nhiệm tạo và quản lý các định dạng này thực hiện nhiệm vụ chuyển đổi dữ liệu này thành byte để chúng có thể nhận được được lưu trữ. Trong python, đối tượng byte là một chuỗi byte mà con người không thể đọc được. Nhưng một chuỗi ký tự là một chuỗi các ký tự mà con người có thể đọc được. Một ký tự được mã hóa trước khi nó được lưu trữ trong máy tính dưới dạng byte.

Mã hóa

Trước khi chuỗi ký tự được lưu trữ vào đĩa, nó phải được mã hóa. Hàm trong python để mã hóa chuỗi được mã hóa như hình dưới đây. Ở đây chúng tôi đang áp dụng mã hóa ASCII.

Ví dụ

print('Best Tutorials'.encode('ASCII'))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

b'Best Tutorials'

Giải mã

Khi các byte được đọc tạo thành đĩa, để con người có thể đọc được, chúng cần được giải mã. Trong python, chúng ta có thể sử dụng hàm giải mã để chuyển đổi các byte được mã hóa thành chuỗi.

Ví dụ

print(b'Best Tutorials'.decode('ASCII'))

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Best Tutorials

Sau đây là những điểm chính cần lưu ý.

  • Chuỗi là chuỗi ký tự nhưng các đối tượng Byte là chuỗi các byte.
  • Chuỗi chỉ có ở con người mới có thể đọc được nhưng byte thì máy có thể đọc được.
  • Các byte được lưu trữ trực tiếp trên đĩa, trong khi các ký tự cần mã hóa trước khi được lưu trữ trong đĩa.