تفسیر کانال گسترده (ECI)

نام‌های دیگر: ECI, شناسه ECI, اعلام مجموعه نویسه

تعریف

تفسیر کانال گسترده (ECI) یک کد گریز درون بارکد است که اعلام می‌کند بایت‌های بعدی چطور باید خوانده شوند، مثلاً ECI 26 برای UTF-8. بسیاری از خوانشگرها آن را نادیده می‌گیرند و حدس می‌زنند.

ECI چه می‌کند

ECI به خوانشگر می‌گوید چه مجموعه نویسه یا تفسیر دادهای برای بایت‌های بعدی برقرار است. بدون آن، خوانشگر باید مقدار پیش‌فرضی را فرض کند یا از روی خود بایت‌ها حدس بزند.

ECI مخصوص کدهای QR نیست. این طرح را AIM، انجمن صنعت بارکد، تعریف کرده است و Data Matrix، کد Aztec، PDF417، MaxiCode و نمادگان‌های دیگر هم از آن پشتیبانی می‌کنند.

در کد QR چگونه کدگذاری می‌شود

قطعه ECI با نشانگر حالت 0111 شروع می‌شود و پس از آن شماره شناسه ECI به طول یک تا سه بایت می‌آید. این تفسیر تا پایان داده یا تا وقتی ECI دیگری آن را عوض کند برقرار می‌ماند.

  • ECI 3: ISO-8859-1 (Latin-1)
  • ECI 20: Shift JIS
  • ECI 26: UTF-8
  • شناسه‌ها از ۰ تا ۹۹۹۹۹۹ هستند

پشتیبانی در عمل

پشتیبانی از ECI یکدست نیست. اسکنرهای صنعتی و اسنادی اغلب آن را رعایت می‌کنند، اما بسیاری از برنامه‌های دوربین گوشی آن را نادیده می‌گیرند و UTF-8 را با بررسی تشخیص می‌دهند، که برای بیشتر محتوای امروزی جواب می‌دهد.

بعضی خوانشگرهای قدیمی سرآیند ECI را انتظار ندارند و ممکن است نویسه‌های اضافه نشان دهند یا نتوانند محتوا را تجزیه کنند. برای URLهای روزمره و متن ساده، بیشتر تولیدکننده‌ها ECI را کنار می‌گذارند و به تشخیص UTF-8 تکیه می‌کنند.

پرسش‌های متداول

برای متن UTF-8 در کد QR به ECI نیاز دارم؟

معمولاً نه. بیشتر خوانشگرهای گوشی UTF-8 را خودکار تشخیص می‌دهند و ECI می‌تواند چند خوانشگر قدیمی را گیج کند. وقتی داده باید دقیقاً تفسیر شود، مثلاً در سامانه‌های صنعتی، بیشتر به کار می‌آید.

چرا کد QR من هنگام اسکن نویسه‌های عجیب نشان می‌دهد؟

خوانشگر ممکن است برای داده حالت بایتی مجموعه نویسه اشتباهی حدس زده باشد. اعلام UTF-8 با ECI 26 یا آزمایش با خوانشگر دیگر می‌تواند در پیدا کردن علت کمک کند.

منابع و استانداردها

همه اصطلاحات