Diễn giải kênh mở rộng (ECI)

Còn gọi là: ECI, Extended Channel Interpretation, chỉ định ECI, khai báo bộ ký tự

Định nghĩa

Diễn giải kênh mở rộng (ECI) là mã thoát nằm trong mã vạch, khai báo cách đọc các byte tiếp theo, chẳng hạn ECI 26 cho UTF-8. Nhiều đầu đọc bỏ qua nó và tự đoán.

ECI làm gì

ECI cho đầu đọc biết bộ ký tự hoặc cách diễn giải dữ liệu nào áp dụng cho các byte tiếp theo. Nếu không có, đầu đọc phải giả định một giá trị mặc định hoặc đoán từ chính các byte.

ECI không chỉ có ở mã QR. Cơ chế này do AIM, hiệp hội ngành mã vạch, định nghĩa và cũng được Data Matrix, mã Aztec, PDF417, MaxiCode và các ký hiệu khác hỗ trợ.

Cách mã hóa trong mã QR

Một đoạn ECI bắt đầu bằng chỉ báo chế độ 0111, theo sau là số chỉ định ECI dài từ một đến ba byte. Cách diễn giải này có hiệu lực đến hết dữ liệu hoặc đến khi một ECI khác thay đổi nó.

  • ECI 3: ISO-8859-1 (Latin-1)
  • ECI 20: Shift JIS
  • ECI 26: UTF-8
  • Số chỉ định nằm trong khoảng 0 đến 999999

Hỗ trợ trong thực tế

Mức hỗ trợ ECI không đồng đều. Máy quét công nghiệp và tài liệu thường tuân theo, còn nhiều ứng dụng camera điện thoại bỏ qua và nhận diện UTF-8 bằng cách kiểm tra, cách này hiệu quả với hầu hết nội dung hiện đại.

Một số đầu đọc cũ không mong đợi phần đầu ECI và có thể hiện ký tự lạ hoặc không phân tích được nội dung. Với URL và văn bản thuần hằng ngày, hầu hết trình tạo mã bỏ ECI và dựa vào việc nhận diện UTF-8.

Câu hỏi thường gặp

Tôi có cần ECI cho văn bản UTF-8 trong mã QR không?

Thường là không. Hầu hết đầu đọc trên điện thoại tự nhận ra UTF-8, và ECI có thể làm vài đầu đọc cũ bị nhầm. ECI hữu ích nhất khi dữ liệu phải được diễn giải chính xác, như trong hệ thống công nghiệp.

Vì sao mã QR của tôi hiện ký tự lạ khi quét?

Đầu đọc có thể đã đoán sai bộ ký tự cho dữ liệu chế độ byte. Khai báo UTF-8 bằng ECI 26, hoặc thử bằng một đầu đọc khác, có thể giúp tìm ra nguyên nhân.

Nguồn và tiêu chuẩn

Tất cả thuật ngữ