Lập trình mạng Python: client – server (phần 13)

Mã hoá và giải mã

Ngôn ngữ lập trình Python 3 tạo một khác biệt mạnh giữa các chuỗi kí tự và chuỗi các bytes.
Các bytes là các số nhị phân thực sự cái máy tính truyền qua lại suốt trao đổi thông tin mạng,
mỗi cái chứa 8 số nhị phân và trải từ giá trị nhị phân 00000000 đến 11111111 và vì vậy từ số nguyên
thập phân 0 đến 255. Các chuỗi kí tự trong Python có thể chứa các kí hiệu Unicode như a (“chữ nhỏ Latin
A”, tiêu chuẩn Unicode gọi nó) hay } hay ∅. Trong khi mỗi kí tự Unicode thực tế mỗi cái có một cái nhận
dạng số liên quan đến nó, được gọi là code point của nó, bạn có thể đối xử cái này như chi tiết thực thi
nội bộ – Python 3 cẩn thận tạo các kí tự luôn có hành vi như kí tự, và chỉ khi bạn yêu cầu Python sẽ chuyển
đổi các kí tự tới và lui các bytes nhìn thấy được bên ngoài thực sự.
Hai hoạt động này có các tên chính thức.
Giải mã (decoding) là cái xảy ra khi các bytes đang trên đường đi vào ứng dụng của bạn và bạn cần định hình
ra chúng có nghĩa là gì. Nghĩ về ứng dụng của bạn , như nó nhận các bytes từ một file hay qua mạng, như một
classic Cold War spy nhiệm vụ của nó là giải mã sự truyền các bytes thô đang đi đến qua một kênh trao đổi
thông tin.
Mã hoá (encoding) là quá trình lấy các chuỗi kí tự cái bạn đã sẵn sàng trình bày đối với thế giới bên ngoài và
chuyển chúng thành các bytes sử dụng một trong nhiều các mã hoá cái các máy tính số sử dụng khi chúng cần truyền
hay lưu trữ các kí hiệu sử dụng các bytes cái chỉ là real currency của chúng. Nghĩ về spy của bạn như phải
chuyển thông điệp của chúng quay trở lại thành các số cho chuyển vận, như chuyển các kí hiệu thành một code
cái có thể được gửi qua mạng.

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *