علامة ترتيب البايتات
علامة ترتيب البايتات (BOM) هي علامة يونيكود لتحديد ترتيب تخزين أو إرسال المعلومات التي تتطلب أكثر من بايت لتخزنها.[1][2][3] ولها الرمز U+FEFF.
المشكلة التي تحلها هذه العلامة
تبرز مشكلة ترتيب البايتات عندما يتم نقل معلومات التي تحتاج إلى أكثر من بايت من معالج إلى معالج آخر. فكما هو معلوم، جميع المعلومات التي يعالجها الحاسب عبارة عن أرقام.بعض تلك الأرقام تمتد إلى أكثر من 8 بتات (أي أكثر من بايت واحد). وهذه الأرقام يجب أن تخزن في وحدة ذاكرة الوصول العشوائي حتى يستطيع المعالج التعامل معها. ولكن معظم تلك الوحدات تخزن المعلومات في وحدات مكونة من 8 بتات والتي لا تستطيع احتواء الأرقام الكبيرة بأكملها. لذا يتم تقسيم الأرقام الكبيرة حتى تستطيع وحدة الذاكرة استيعابها.
ولكن أي جرء من هذه الأرقام يخزن أولاً؟
توجد أكثر من طريقة لتخزين هذه الأجزاء ولكن طريقتان فقط اشتهرتا. الأولى تنص على تخزين القسم الذي له اقل وزن أولا، ثم الأثقل فالأثقل. والأخرى تنص بعكس الأولى (أي الأثقل وزناً يخزن أولاً). بسبب اختلاف طريقة التخزين (و الإرسال) من نظام لآخر ولأن بعض صيغ اليونيكود تمتد إلى أكثر من 8 بتات (UTF-16 و UTF-32)، تستخدم علامة BOM لتحديد ترتيب البايتات.
مراجع
- "FAQ - UTF-8, UTF-16, UTF-32 & BOM"، Unicode.org، مؤرشف من الأصل في 10 مايو 2009، اطلع عليه بتاريخ 28 يناير 2017.
- "Bug ID: JDK-6378911 UTF-8 decoder handling of byte-order mark has changed"، Bugs.sun.com، مؤرشف من الأصل في 21 ديسمبر 2013، اطلع عليه بتاريخ 28 يناير 2017.
- Shanjian Li، "A composite approach to language/encoding detection"، Archive.mozilla.org، مؤرشف من الأصل في 21 سبتمبر 2017، اطلع عليه بتاريخ 28 يناير 2017.
وصلات خارجية
- بوابة علم الحاسوب
- بوابة تقنية المعلومات