Lý thuyết
Nhắc lại thật nhanh
Trong video, người Lưỡng Hà dùng thẻ đất sét có hình dạng khác nhau, rồi dấu ấn trên đất sét, để ghi hàng hóa. Một ký hiệu chỉ có nghĩa khi người ghi và người đọc dùng chung một quy ước.

1. Ký hiệu giống thật và ký hiệu hoàn toàn quy ước
| Loại | Ví dụ | Đoán được nghĩa không cần học? |
|---|---|---|
| Ký hiệu giống thứ nó chỉ | Biển báo hình người đi bộ, biểu tượng cái loa trên điện thoại | Thường đoán được |
| Ký hiệu hoàn toàn quy ước | Chữ "A", số "7", đèn đỏ là dừng, mã vạch | Phải học quy ước mới hiểu |
Thẻ đất sét hình trứng chỉ hũ dầu là quy ước: chẳng có lý do gì bắt buộc hình trứng phải là dầu. Máy tính gần như chỉ dùng ký hiệu loại thứ hai, nên mọi thứ trong máy tính đều dựa trên quy ước.
2. Mã hóa và giải mã
- Mã hóa là biến một nội dung thành ký hiệu theo một quy ước (một bảng mã).
- Giải mã là đọc ký hiệu ngược lại thành nội dung, dùng đúng bảng mã đó.
Người gửi --(mã hóa bằng bảng X)--> ký hiệu --(giải mã bằng bảng X)--> Người nhận
Nếu người nhận dùng bảng Y để giải mã thì sẽ ra nội dung sai, dù ký hiệu không hỏng chút nào.
Lưu ý: "mã hóa" ở đây nghĩa là biểu diễn bằng ký hiệu, chưa phải mã hóa để giữ bí mật. Mật mã là một chủ đề khác, sẽ có ở những bài sau.
3. Máy tính cất chữ bằng bảng mã
Máy tính không cất trực tiếp chữ "A". Nó cất một con số, rồi dùng bảng mã ký tự để biết số đó là chữ gì.
| Ký tự | Mã số (theo bảng ASCII / Unicode) |
|---|---|
| A | 65 |
| B | 66 |
| a | 97 |
| 0 (chữ số không) | 48 |
| khoảng trắng | 32 |
- Bảng ASCII (năm 1963) chỉ có 128 ký tự, đủ cho tiếng Anh, nhưng không có chữ "ă", "ơ" hay dấu thanh của tiếng Việt.
- Bảng Unicode hiện nay gán mã số riêng cho hơn một trăm nghìn ký tự của hầu hết các chữ viết trên thế giới, kể cả biểu tượng cảm xúc.
- Đôi khi chữ hiện ra thành ký tự lạ, như "Ä‘i há»c" thay vì "đi học". Người ta hay gọi đó là lỗi phông, nhưng thật ra lỗi nằm ở bảng mã: máy nhận đã giải mã bằng một bảng khác với bảng máy gửi đã dùng.
4. Định dạng tệp: quy ước để phần mềm biết đọc
Mỗi tệp (file) được sắp xếp bên trong theo một định dạng, tức một quy ước về cách xếp dữ liệu. Phần đuôi tên tệp gợi ý định dạng đó:
| Đuôi | Định dạng | Mở bằng |
|---|---|---|
.jpg, .png | Ảnh | Trình xem ảnh |
.mp3 | Âm thanh | Trình phát nhạc |
.mp4 | Video | Trình phát video |
.docx | Văn bản Word | Trình soạn thảo |
.txt | Chữ thuần | Bất kỳ trình soạn thảo nào |
Đổi tên meo.jpg thành meo.mp3 không biến ảnh thành nhạc. Nội dung bên trong vẫn được xếp theo quy ước của ảnh. Trình phát nhạc sẽ báo lỗi vì không đọc được. Đuôi tệp chỉ là nhãn gợi ý, không phải nội dung.
5. Giao thức: quy ước để hai bên nói chuyện với nhau
Trong video, hai bạn Minh và Lan ra hiệu cho nhau bằng ba tiếng gõ bàn. Cách ra hiệu ấy là một giao thức nhỏ: một bộ quy ước về ai nói trước, nói gì, trả lời thế nào.
Máy tính trao đổi với nhau cũng theo giao thức. Ví dụ, một trình duyệt xin xem một trang web diễn ra như sau:
| Bước | Ai | Nói gì |
|---|---|---|
| 1 | Trình duyệt | "Cho tôi trang chủ." |
| 2 | Máy chủ | "Được, trang đây." (hoặc "Không tìm thấy trang.") |
| 3 | Trình duyệt | Hiển thị trang theo định dạng đã thống nhất |
Nếu hai bên dùng hai giao thức khác nhau thì chúng sẽ không hiểu nhau, giống như một người chỉ biết gõ bàn còn người kia chỉ biết huýt sáo. Các khóa về mạng ở phía sau sẽ quay lại giao thức kỹ hơn.
6. Chuẩn chung: quy ước của cả thế giới
Quy ước giữa hai người bạn thì dễ thống nhất. Còn quy ước giữa hàng triệu máy móc của hàng nghìn hãng cần chuẩn (tiêu chuẩn): bộ quy ước được công bố và nhiều nơi cùng làm theo.
- Cổng sạc USB‑C: máy của nhiều hãng cắm chung một loại dây.
- Bảng mã Unicode: điện thoại hãng nào cũng hiển thị đúng chữ tiếng Việt.
- Mã vạch trên hàng hóa: máy quét ở siêu thị nào cũng đọc được.
Không có chuẩn chung thì mỗi máy một kiểu và chúng không làm việc được với nhau.
7. Một ký hiệu, nhiều nghĩa: sự mơ hồ
Dấu "×" có thể là phép nhân, sai, hoặc nút đóng cửa sổ. Con người đoán đúng nhờ ngữ cảnh. Máy tính đoán ngữ cảnh kém hơn nhiều, nên quy ước cho máy phải rõ ràng, không mơ hồ. Mỗi ký hiệu trong một quy ước chỉ nên có đúng một nghĩa.
8. Phát hiện dữ liệu bị lỗi: từ phong bì đất sét đến số kiểm tra
Phong bì đất sét trong video giúp người nhận phát hiện hàng bị lấy trộm, vì số viên đất sét bên trong phải khớp với số hũ dầu. Đây là ý tưởng về kiểm tra toàn vẹn: gửi kèm một thông tin phụ để bên nhận kiểm tra dữ liệu có bị sai lệch không.
Máy tính dùng ý tưởng này rất nhiều. Ví dụ đơn giản là chữ số kiểm tra: thêm vào cuối mã một chữ số tính từ các chữ số còn lại. Giả sử một cửa hàng quy ước chữ số cuối là chữ số hàng đơn vị của tổng các chữ số đứng trước:
| Mã | Tổng các chữ số trước | Chữ số cuối phải là | Chữ số cuối thật | Kết luận |
|---|---|---|---|---|
| 4217 | 4 + 2 + 1 = 7 | 7 | 7 | Khớp, mã hợp lệ |
| 4817 | 4 + 8 + 1 = 13 | 3 | 7 | Không khớp, có chữ số bị gõ nhầm |
Ở dòng thứ hai, người nhập đã gõ nhầm 2 thành 8. Máy chỉ cần cộng lại là phát hiện được, không cần xem món hàng thật. Mã vạch trên hàng hóa và số căn cước đều có chữ số kiểm tra, với cách tính phức tạp hơn ví dụ này một chút.
Ghi nhớ
- Ký hiệu trong máy tính gần như luôn là quy ước. Phải biết quy ước mới hiểu được.
- Mã hóa và giải mã phải dùng cùng một bảng mã. Giải mã bằng bảng khác thì ra lỗi phông.
- Định dạng tệp là quy ước sắp xếp dữ liệu. Đổi đuôi tệp không đổi nội dung bên trong.
- Giao thức là quy ước để các máy nói chuyện với nhau. Chuẩn là quy ước chung cho cả thế giới.
- Quy ước cho máy phải không mơ hồ. Thông tin kiểm tra đi kèm giúp phát hiện lỗi.