확장 채널 해석(ECI)

다른 이름: ECI, ECI 지정자, 문자 집합 선언, Extended Channel Interpretation

정의

확장 채널 해석(ECI)은 바코드 안에서 뒤따르는 바이트를 어떻게 읽어야 하는지 알려 주는 이스케이프 코드예요. UTF-8은 ECI 26이에요. 많은 리더는 ECI를 무시하고 짐작으로 읽어요.

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 감지에 맡겨요.

자주 묻는 질문

QR코드의 UTF-8 텍스트에 ECI가 필요한가요?

보통은 필요 없어요. 대부분의 휴대폰 리더는 UTF-8을 자동으로 알아보고, ECI가 일부 오래된 리더를 헷갈리게 할 수 있어요. 산업 시스템처럼 데이터를 정확히 해석해야 할 때 가장 유용해요.

스캔했더니 QR코드에 이상한 글자가 나와요. 왜 그런가요?

리더가 바이트 모드 데이터의 문자 집합을 잘못 짐작했을 수 있어요. ECI 26으로 UTF-8을 선언하거나 다른 리더로 테스트해 보면 원인을 알아내는 데 도움이 돼요.

출처와 표준

모든 용어