معيار ISO/IEC 2022: بنية ترميز الأحرف وتقنيات التوسعة

معيار ISO/IEC 2022: بنية ترميز الأحرف وتقنيات التوسعة

يُعد معيار ISO/IEC 2022 أحد الركائز الأساسية في مجال تكنولوجيا المعلومات، حيث يحدد بنية ترميز الأحرف وتقنيات التوسعة. هذا المعيار، الذي يتكافأ مع معايير أخرى مثل ECMA-35 وANSI X3.41 وJIS X 0202، يهدف إلى توفير إطار عام يمكن أن تلتزم به أنظمة ترميز الأحرف المختلفة لضمان التوافقية بين الأنظمة البرمجية والأجهزة المختلفة.

تاريخ وتطور المعيار

ظهر معيار ISO 2022 لأول مرة في عام 1971، وتم تحديثه في آخر مرة في عام 1994. يحدد المعيار بنية عامة لترميز الأحرف، حيث يخصص نطاقات معينة من البايتات (0x00–1F و 0x7F–9F) لتكون أكواد تحكم غير مطبوعة تُستخدم للتنسيق والتعليمات الداخلية (مثل فواصل الأسطر أو تعليمات تنسيق محطات الطرفية)، بدلاً من استخدامها كأحرف رسومية.

آليات العمل والرموز

يحدد المعيار بناءً على تسلسلات الهروب (Escape Sequences)، وهي تسلسلات من البايتات تبدأ برمز التحكم ESC، والتي تُستخدم لإعطاء تعليمات للنظام أو للتبديل بين مجموعات الأحرف المختلفة. على سبيل المثال، يمكن استخدام هذه التسلسلات للتبديل بين نظام ASCII واللغة اليابانية (JIS X 0208) في مستند واحد، مما يخلق ترميزاً حالةً (stateful encoding) يجمع بين عدة لغات.

التوافق مع البيئات المختلفة

تم تصميم ISO 2022 ليكون قابلاً للاستخدام في كل من البيئات التي تدعم 8 بت والبيئات التي تدعم 7 بت فقط (مثل البريد الإلكتروني القديم الذي لم يكن يدعم 8BITMIME)، مما جعله حلاً مثالياً لنقل النصوص عبر أنظمة اتصالات محدودة.

الترميزات والامتثال

بينما يدعم نظام ASCII الأبجدية اللاتينية الأساسية، إلا أنه يفتقر إلى الدعم الجيد للغات التي تستخدم أنظمة كتابة مختلفة مثل العربية، اليونانية، أو السيريلية. تاريخياً، تم تمثيل هذه اللغات باستخدام ترميزات 8 بت ممتدة، وبعض هذه الترميزات (مثل سلسلة ISO 8859) تتوافق مع ISO 2022، بينما لا يتوافق البعض الآخر (مثل صفحة رموز DOS 437).

اللغات شرق الآسيوية (CJK)

تتطلب اللغات الصينية واليابانية والكورية (CJK) عدداً من الأحرف يتجاوز 256 حرفاً، لذا تم استخدام ترميزات ثنائية البايت أو متغيرة العرض. بعض هذه الترميزات، مثل GB 2312 للصينية المبسطة، تتوافق مع ISO 2022، بينما لا يتوافق ترميز Big5 للصينية التقليدية.

العلاقة مع Unicode و UTF-8

ورث نظام Unicode مفهوم أكواد التحكم C0 و C1 من ISO 2022، ولكن هناك اختلافات جوهرية في طريقة التنفيذ. على سبيل المثال، تنسيقات UTF-8 تبتعد عن بنية ISO 2022 في عدة نقاط:

  • استخدام بايتات 8 بت ولكن دون تمثيل أكواد C1 في أشكالها أحادية البايت المحددة في ISO 2022.
  • تمثيل جميع الأحرف، بما في ذلك أكواد التحكم، باستخدام بايتات متعددة في UTF-16 و UTF-32.
  • خلط البايتات ذات البت الأكثر أهمية (MSB) المحددة وغير المحددة ضمن تمثيل نقطة رمزية واحدة.

ومع ذلك، توجد تسلسلات هروب في ISO 2022 تسمح بالتبديل إلى UTF-8 ومنه، وهو ما تدعمه بعض محطات الطرفية مثل xterm.

ملخص العناصر الأساسية

العنصرالوصف
البنية التحتيةتعدد مجموعات الأحرف وأكواد التحكم (C0 و C1).
تنسيق 8 بتتنسيق لترميز المجموعات عند توفر 8 بت لكل بايت.
تنسيق 7 بتطريقة لتحويل البيانات لتمر عبر بيئات 7 بت.
أكواد الهروبتنسيقات محددة للتعريف بمجموعات الأحرف والتبديل بينها.

أسئلة شائعة

ما هو الهدف الأساسي من معيار ISO/IEC 2022؟

الهدف هو توفير بنية عامة لترميز الأحرف تسمح بدمج مجموعات أحرف متعددة في نظام ترميز واحد، مع توفير آليات للتبديل بينها لضمان التوافقية بين الأنظمة المختلفة.

كيف يختلف ISO 2022 عن Unicode؟

بينما يركز ISO 2022 على التبديل بين مجموعات أحرف مختلفة باستخدام تسلسلات الهروب (stateful)، فإن Unicode يهدف إلى توفير مجموعة رموز عالمية واحدة تشمل جميع لغات العالم في نظام واحد (stateless).

ما هي اللغات التي استفادت من هذا المعيار بشكل كبير؟

استفادت اللغات شرق الآسيوية (CJK) مثل اليابانية والصينية والكورية بشكل كبير، حيث ظهرت ترميزات مثل ISO-2022-JP التي كانت شائعة جداً في البريد الإلكتروني الياباني.