4 điểm bởi GN⁺ 2024-01-23 | 1 bình luận | Chia sẻ qua WhatsApp

Cấu trúc của mã QR

  • Mã QR được tạo thành từ lưới 21x21 mô-đun (còn gọi là pixel), tương ứng với phiên bản 1.
  • Mã QR có nhiều kích thước khác nhau, và ở mỗi phiên bản, kích thước tăng thêm 4.
  • Các phần khác nhau của mã QR giúp máy quét nhận diện mã QR và đọc chính xác.

Mẫu mặt nạ

  • Mã QR sử dụng mặt nạ để tránh các khối mô-đun đen hoặc trắng quá lớn.
  • Có 8 tùy chọn mặt nạ khác nhau, và mẫu của mỗi tùy chọn được giải thích theo cách dễ ghi nhớ qua câu chuyện.

Chế độ mã hóa

  • Để giải mã nội dung của mã QR, trước tiên cần biết nội dung được mã hóa theo cách nào.
  • Thông tin mã hóa luôn nằm ở góc dưới bên phải và có thể kiểm tra sau khi áp dụng mặt nạ.

Thứ tự đọc

  • Nội dung bắt đầu từ góc dưới bên phải, đi lên theo đường zíc zắc giữa hai cột rồi đi xuống ở cột tiếp theo.
  • Tất cả các vùng đặc biệt đều được bỏ qua.

Giải mã độ dài

  • Thông tin độ dài được cung cấp theo đơn vị byte, cho biết tổng độ dài nội dung của mã QR.

Giải mã nội dung

  • Nội dung của mã QR được giải mã theo từng byte, và mỗi byte tương ứng với một ký tự ASCII.
  • Các byte còn lại người dùng có thể tự giải mã để luyện tập.

Sửa lỗi

  • Mã QR có tính năng sửa lỗi để vẫn có thể đọc được ngay cả khi một phần bị hỏng, mờ hoặc bị thiếu.
  • Việc sửa lỗi được tạo ra bằng các phép toán phức tạp, nhưng không quan trọng đối với mục đích đọc thủ công.

Chúc mừng!

  • Giờ bạn đã học được mọi thứ cần thiết để tự giải mã một mã QR đơn giản bằng tay.
  • Để luyện tập, bạn có thể nhấn nút "Random code" hoặc tìm một mã QR thực tế rồi dùng nút "Scan code".

Ý kiến của GN⁺

  • Bài viết này rất hữu ích để tìm hiểu cách mã QR hoạt động và cách giải mã thủ công.
  • Nếu hiểu được từng phần của mã QR, các mẫu mặt nạ và chế độ mã hóa, bạn có thể nâng cao kiến thức kỹ thuật của mình.
  • Phần nhắc ngắn gọn về tính năng sửa lỗi giúp hiểu rõ hơn về độ bền và độ tin cậy của mã QR.

1 bình luận

 
GN⁺ 2024-01-23
Ý kiến trên Hacker News
    • Câu chuyện trải nghiệm vào cuối những năm 90 hoặc đầu những năm 2000 khi muốn chuyển nội dung đĩa Atari 8-bit sang PC
    • Biết đến cáp và phần mềm SIO2PC để nối cổng SIO của Atari với cổng serial của PC, nhưng không có kỹ năng điện tử để tự làm.
    • Thay vào đó đã viết một chương trình BASIC trên Atari để đọc dữ liệu đĩa theo từng sector và hiển thị lên màn hình.
    • Chụp ảnh màn hình và giải mã dữ liệu thông qua Atari được nối với TV card của PC và một chương trình Delphi chạy trên PC.
    • Các sector trống làm cản trở việc căn chỉnh vị trí pixel nên đã thêm mẫu mặt nạ và checksum.
    • Bằng cách này có thể chuyển toàn bộ nội dung đĩa sang PC, và xem đó là thành tựu kỹ thuật lớn nhất của mình.
    • Khoảng 10 năm sau đã phát triển chương trình SIO2PC tên là AspeQt. Một nhánh fork cộng đồng mới hơn là RespeQt vẫn là công cụ được ưa chuộng nhất trong cộng đồng Atari.
    • Câu hỏi về chế độ mã hóa ASCII của mã QR và yêu cầu giải thích về sửa lỗi
    • Thắc mắc “chế độ mã hóa” ASCII được nhắc trong bài là gì và các chế độ khác được đọc như thế nào.
    • Yêu cầu giải thích về sửa lỗi, đồng thời nhấn mạnh rằng ngay cả khi đọc thủ công cũng cần tính toán sửa lỗi.
    • Yêu cầu giải thích thêm về sửa lỗi
    • Cần giải thích sửa lỗi nằm ở đâu và được áp dụng như thế nào.
    • Hỏi liệu có thể đọc thủ công mã QR có chứa dữ liệu sửa lỗi hay không.
    • Danh sách các bài đăng liên quan trên Hacker News
    • Các bài viết về giải mã thủ công mã QR vào các năm 2012, 2022, 2020 và 2018.
    • Lời cảm ơn về phần giải thích hay về cách đọc mã QR, đồng thời chia sẻ thêm liên kết về mã vạch 1D và cách giải mã mã UPC.
    • Khen ngợi tính năng tạo đồ họa động của bài viết.
    • Chia sẻ trải nghiệm với một câu đố trong Mystery Hunt 2023, nơi phải giải mã thủ công một mã QR bị hư hại nặng.
    • Đã tham khảo nhiều hướng dẫn nhưng chưa cái nào hoàn hảo, và cho rằng một bài viết chi tiết hơn sẽ rất hữu ích.
    • Sự tò mò về sửa lỗi của mã QR và chia sẻ thông tin rằng khả năng khôi phục lỗi nằm trong khoảng từ 7% đến 30%.
    • Chia sẻ trải nghiệm từng cố đọc mã QR bằng tay và đặt câu hỏi về sự cần thiết của mẫu mặt nạ.
    • Đề cập việc tìm kiếm cấu hình sửa lỗi tối ưu, đồng thời nói rằng còn thiếu các nghiên cứu về hiệu quả của nhiều cấu hình và cách triển khai quét khác nhau trong môi trường thực tế.
    • Nói rằng một trong những lý do từ bỏ việc cố đọc mã QR bằng mắt là vì URL thường được viết ngay bên dưới.
    • Chia sẻ liên kết đến một video về giải mã mã QR từ 10 năm trước và một trang web tương tác về quá trình tạo mã QR.