ECI가 하는 일
ECI는 뒤따르는 바이트에 어떤 문자 집합이나 데이터 해석이 적용되는지 리더에게 알려 줘요. 없으면 리더가 기본값을 가정하거나 바이트 자체를 보고 짐작해야 해요.
ECI는 QR코드에만 있는 것이 아니에요. 바코드 업계 협회인 AIM이 정의한 방식이며, Data Matrix, Aztec 코드, PDF417, MaxiCode 등 다른 기호 체계에서도 지원해요.
QR코드에서 인코딩되는 방식
ECI 세그먼트는 모드 지시자 0111로 시작하고 1~3바이트의 ECI 지정자 번호가 뒤따라요. 해석은 데이터가 끝나거나 다른 ECI가 바꿀 때까지 유지돼요.
- ECI 3: ISO-8859-1(Latin-1)
- ECI 20: Shift JIS
- ECI 26: UTF-8
- 지정자 범위는 0에서 999999까지
실제 지원 상황
ECI 지원은 고르지 않아요. 산업용 및 문서용 스캐너는 대체로 따르지만, 많은 휴대폰 카메라 앱은 무시하고 UTF-8을 살펴서 알아내는데, 이는 대부분의 요즘 콘텐츠에서 잘 작동해요.
일부 오래된 리더는 ECI 헤더를 예상하지 못해서 엉뚱한 글자를 보여 주거나 내용을 해석하지 못할 수 있어요. 일상적인 URL과 일반 텍스트에는 대부분의 생성기가 ECI를 빼고 UTF-8 감지에 맡겨요.