Cập nhật lần cuối:
Mã QR chứa được bao nhiêu thông tin? - Cơ chế đằng sau ô vuông đen trắng
Thanh toán ở cửa hàng, đi tàu điện, kết bạn trên LINE - ngày nào chúng ta cũng dùng mã QR, nhưng bạn có bao giờ tự hỏi ô vuông đen trắng ấy chứa được bao nhiêu thông tin không? Câu trả lời: tối đa khoảng 1.800 ký tự Kanji, tương đương khoảng 4 trang rưỡi giấy viết văn kẻ ô 400 chữ, tất cả được nén gọn trong một hình vuông bé xíu.
Dung lượng dữ liệu của mã QR
| Loại dữ liệu | Dung lượng tối đa | Ví dụ dễ hình dung |
|---|---|---|
| Chỉ gồm chữ số | 7.089 chữ số | Khoảng 640 số điện thoại |
| Chữ cái và chữ số | 4.296 ký tự | Khoảng 30 bài đăng X (Twitter cũ) |
| Nhị phân (8 bit) | 2.953 byte | Khoảng 3 KB dữ liệu |
| Kanji (Shift_JIS) | 1.817 ký tự | Khoảng 4,5 trang giấy viết văn kẻ ô |
Nếu chỉ gồm chữ số, một mã QR chứa được tới 7.089 chữ số, nhưng sang chữ Kanji thì chỉ còn 1.817 ký tự. Đúng như bài sự khác biệt giữa số ký tự và số byte đã giải thích: mỗi chữ Kanji tốn nhiều byte hơn, nên số chữ chứa được cũng ít đi tương ứng.
Phiên bản và kích thước của mã QR
Mã QR có khái niệm "phiên bản": phiên bản càng cao thì mã càng lớn và chứa được càng nhiều dữ liệu.
| Phiên bản | Số module | Sức chứa tối đa (chữ số) | Tình huống thường dùng |
|---|---|---|---|
| 1 (nhỏ nhất) | 21 x 21 | 41 chữ số | URL ngắn |
| 5 | 37 x 37 | 154 chữ số | URL thông thường |
| 10 | 57 x 57 | 652 chữ số | Thông tin liên hệ trên danh thiếp |
| 20 | 97 x 97 | 2.061 chữ số | Văn bản dài |
| 40 (lớn nhất) | 177 x 177 | 7.089 chữ số | Dữ liệu lớn (hiếm khi dùng) |
Phiên bản 40 gồm 177 x 177 = 31.329 module đen trắng. Tuy vậy, trên thực tế gần như không ai dùng đến phiên bản này: dữ liệu càng nhiều thì mã QR càng dày đặc và phức tạp, camera điện thoại càng khó quét.
Bên trong những mã QR quen thuộc có gì?
| Mục đích | Thông tin bên trong | Dung lượng tham khảo |
|---|---|---|
| Kết bạn LINE/Zalo | URL trang cá nhân (khoảng 40 ký tự) | Khoảng 40 byte |
| Thanh toán QR | URL thanh toán + token | Khoảng 100-200 byte |
| URL trang web | Chuỗi URL | Khoảng 30-100 byte |
| Thông tin kết nối Wi-Fi | SSID + mật khẩu + phương thức mã hóa | Khoảng 50-150 byte |
| Danh thiếp (vCard) | Tên, điện thoại, email, địa chỉ | Khoảng 200-500 byte |
| Thẻ lên máy bay | Số hiệu chuyến bay, số ghế, thông tin hành khách | Khoảng 100-300 byte |
Hầu hết mã QR ta gặp hằng ngày chưa dùng đến 10% dung lượng tối đa. Mã kết bạn LINE chỉ khoảng 40 byte - vỏn vẹn 1,4% của mức trần 2.953 byte.
Khả năng sửa lỗi của mã QR
Mã QR có một đặc tính rất thú vị: dù bị bẩn hay bị che mất một phần, nó vẫn đọc được.
| Mức sửa lỗi | Tỷ lệ khôi phục được | Ảnh hưởng đến dung lượng | Tình huống dùng |
|---|---|---|---|
| L (thấp) | Khoảng 7% | Sức chứa lớn nhất | Môi trường sạch (hiển thị trên màn hình) |
| M (trung bình) | Khoảng 15% | Giảm nhẹ | Ấn phẩm in thông thường |
| Q (khá cao) | Khoảng 25% | Giảm rõ rệt | Môi trường dễ bám bẩn |
| H (cao) | Khoảng 30% | Sức chứa nhỏ nhất | Mã QR có gắn logo |
Ở mức H, mã QR vẫn đọc được ngay cả khi 30% diện tích bị che khuất. Các doanh nghiệp đặt được logo vào chính giữa mã QR chính là nhờ cơ chế này. Đổi lại, mức sửa lỗi càng cao thì dung lượng chứa được càng giảm - một sự đánh đổi giữa độ an toàn và lượng dữ liệu.
So sánh mã QR với mã vạch
| Hạng mục | Mã vạch (1 chiều) | Mã QR (2 chiều) |
|---|---|---|
| Dung lượng | Tối đa khoảng 20 chữ số | Tối đa 7.089 chữ số |
| Chiều ghi dữ liệu | Chỉ chiều ngang | Cả ngang lẫn dọc |
| Góc quét | Chỉ chính diện | 360 độ, từ mọi hướng |
| Sửa lỗi | Không có | Có (tối đa 30%) |
| Hỗ trợ tiếng Nhật | Không | Có |
Mã vạch chỉ chứa được tối đa khoảng 20 chữ số - vừa đủ cho mã định danh sản phẩm (mã EAN-13 gồm 13 chữ số). Mã QR chứa gấp 350 lần lượng dữ liệu đó và còn ghi được cả tiếng Nhật. Khi công ty Nhật Bản DENSO WAVE phát minh ra mã QR vào năm 1994, việc xử lý được chữ Kanji chính là một yêu cầu thiết kế quan trọng.
Rủi ro bảo mật của mã QR
| Rủi ro | Thủ đoạn | Cách phòng tránh |
|---|---|---|
| Mã QR giả | Dán đè mã giả lên mã thật | Cảnh giác với nhãn dán bất thường |
| Lừa đảo (phishing) | Nhúng URL trang web giả vào mã QR | Kiểm tra URL sau khi quét |
| Phần mềm độc hại | URL tải ứng dụng độc hại | Không quét bừa mã QR không rõ nguồn gốc |
Mã QR rất tiện, nhưng có một điểm yếu: ta không nhìn thấy nội dung bên trong. Nếu URL được viết bằng chữ, ta còn có thể nhận ra trang web đáng ngờ; với mã QR thì phải quét rồi mới biết. Cũng giống câu chuyện về số ký tự mật khẩu và bảo mật, điều quan trọng là giữ được cân bằng giữa tiện lợi và an toàn.