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.