انتقل إلى المحتوى

علامة ترتيب البايتات

من ويكيبيديا، الموسوعة الحرة
علامة ترتيب البايتات
معلومات عامة
الاسم
byte order mark (بالإنجليزية) [1]
indicateur d’ordre des octets (بالفرنسية) [2] عدل القيمة على Wikidata
الاسم المختصر
BOM (بالإنجليزية) [3]
IOO (بالفرنسية) [2]
ZWNBSP (بالإنجليزية) [3] عدل القيمة على Wikidata
مجموعة الترميز المُوحَّد
Arabic Presentation Forms-B [الإنجليزية] ترجم عدل القيمة على Wikidata
الرمز
  القائمة ...
0xFF 0xFE 0x00 0x00
0x00 0x00 0xFE 0xFF
0xFF 0xFE
0xFE 0xFF
0xEF 0xBB 0xBF عدل القيمة على Wikidata
كيان لغة الترميز القياسي العام
[4]
[4]
[4] عدل القيمة على Wikidata
اسم المِحرف حسب الترميز المُوحَّد
BYTE ORDER MARK[5] عدل القيمة على Wikidata
الترميز ست العشري المُوحَّد (+U)
FEFF عدل القيمة على Wikidata

علامة ترتيب البايتات (BOM) هي علامة يونيكود لتحديد ترتيب تخزين أو إرسال المعلومات التي تتطلب أكثر من بايت لتخزنها.[6][7][8] ولها الرمز U+FEFF.

المشكلة التي تحلها هذه العلامة

[عدل]

تبرز مشكلة ترتيب البايتات عندما يتم نقل معلومات التي تحتاج إلى أكثر من بايت من معالج إلى معالج آخر. فكما هو معلوم، جميع المعلومات التي يعالجها الحاسوب تمثل بأرقام. بعض تلك الأرقام تمتد إلى أكثر من 8 بتات (أي أكثر من بايت واحد). وهذه الأرقام يجب أن تخزن في وحدة ذاكرة الوصول العشوائي حتى يستطيع المعالج التعامل معها. ولكن معظم تلك الوحدات تخزن المعلومات في وحدات مكونة من 8 بتات والتي لا تستطيع احتواء الأرقام الكبيرة بأكملها. لذا تُقسم الأرقام الكبيرة حتى تستطيع وحدة الذاكرة استيعابها.

ولكن أي جرء من هذه الأرقام يخزن أولاً؟

توجد أكثر من طريقة لتخزين هذه الأجزاء ولكن طريقتان فقط اشتهرتا. الأولى تنص على تخزين القسم الذي له اقل وزن أولا، ثم الأثقل فالأثقل. والأخرى تنص بعكس الأولى (أي الأثقل وزناً يخزن أولاً). بسبب اختلاف طريقة التخزين (و الإرسال) من نظام لآخر ولأن بعض صيغ اليونيكود تمتد إلى أكثر من 8 بتات (UTF-16 و UTF-32)، تستخدم علامة BOM لتحديد ترتيب البايتات.

مراجع

[عدل]
  1. ^ وصلة مرجع: https://www.unicode.org/faq/utf_bom.html#BOM.
  2. ^ ا ب وصلة مرجع: https://www.unicode.org/charts/fr/PDF/UFE70.pdf.
  3. ^ ا ب وصلة مرجع: https://www.unicode.org/Public/UCD/latest/ucd/NameAliases.txt.
  4. ^ ا ب ج وصلة مرجع: https://html.spec.whatwg.org/multipage/syntax.html#character-references.
  5. ^ وصلة مرجع: https://www.unicode.org/Public/UCD/latest/ucd/NameAliases.txt. الوصول: 26 أغسطس 2022.
  6. ^ "FAQ - UTF-8, UTF-16, UTF-32 & BOM". Unicode.org. مؤرشف من الأصل في 2009-05-10. اطلع عليه بتاريخ 2017-01-28.
  7. ^ "Bug ID: JDK-6378911 UTF-8 decoder handling of byte-order mark has changed". Bugs.sun.com. مؤرشف من الأصل في 2013-12-21. اطلع عليه بتاريخ 2017-01-28.
  8. ^ Shanjian Li. "A composite approach to language/encoding detection". Archive.mozilla.org. مؤرشف من الأصل في 2017-09-21. اطلع عليه بتاريخ 2017-01-28.

وصلات خارجية

[عدل]