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

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

من ويكيبيديا، الموسوعة الحرة
علامة ترتيب البايتات
معلومات عامة
الاسم
byte-order mark (بالإنجليزية) [1]
byte order mark (بالإنجليزية) [2] عدل القيمة على Wikidata
الاسم المختصر
BOM (بالإنجليزية) عدل القيمة على Wikidata
مجموعة الترميز المُوحَّد
الرمز
0xFF 0xFE 0x00 0x00 عدل القيمة على Wikidata
كيان لغة الترميز القياسي العام
[3]
[3] عدل القيمة على Wikidata
اسم المِحرف حسب الترميز المُوحَّد
ZERO WIDTH NO-BREAK SPACE[4] عدل القيمة على Wikidata
الترميز ست العشري المُوحَّد (+U)
FEFF عدل القيمة على Wikidata

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

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

[عدل]

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

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

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

مراجع

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

وصلات خارجية

[عدل]