علامة ترتيب البايتات
علامة ترتيب البايتات (BOM) هي علامة يونيكود لتحديد ترتيب تخزين أو إرسال المعلومات التي تتطلب أكثر من بايت لتخزنها.[5][6][7] ولها الرمز U+FEFF.
الاسم | |
---|---|
الاسم المختصر | |
مجموعة الترميز المُوحَّد | |
الرمز | |
كيان لغة الترميز القياسي العام | |
اسم المِحرف حسب الترميز المُوحَّد |
ZERO WIDTH NO-BREAK SPACE[4] |
الترميز ست العشري المُوحَّد (+U) |
المشكلة التي تحلها هذه العلامة
عدلتبرز مشكلة ترتيب البايتات عندما يتم نقل معلومات التي تحتاج إلى أكثر من بايت من معالج إلى معالج آخر. فكما هو معلوم، جميع المعلومات التي يعالجها الحاسب عبارة عن أرقام.بعض تلك الأرقام تمتد إلى أكثر من 8 بتات (أي أكثر من بايت واحد). وهذه الأرقام يجب أن تخزن في وحدة ذاكرة الوصول العشوائي حتى يستطيع المعالج التعامل معها. ولكن معظم تلك الوحدات تخزن المعلومات في وحدات مكونة من 8 بتات والتي لا تستطيع احتواء الأرقام الكبيرة بأكملها. لذا يتم تقسيم الأرقام الكبيرة حتى تستطيع وحدة الذاكرة استيعابها.
ولكن أي جرء من هذه الأرقام يخزن أولاً؟
توجد أكثر من طريقة لتخزين هذه الأجزاء ولكن طريقتان فقط اشتهرتا. الأولى تنص على تخزين القسم الذي له اقل وزن أولا، ثم الأثقل فالأثقل. والأخرى تنص بعكس الأولى (أي الأثقل وزناً يخزن أولاً). بسبب اختلاف طريقة التخزين (و الإرسال) من نظام لآخر ولأن بعض صيغ اليونيكود تمتد إلى أكثر من 8 بتات (UTF-16 و UTF-32)، تستخدم علامة BOM لتحديد ترتيب البايتات.
مراجع
عدل- ^ وصلة مرجع: https://cs.wiktionary.org/wiki/byte-order_mark.
- ^ وصلة مرجع: https://www.unicode.org/faq/utf_bom.html#BOM.
- ^ ا ب وصلة مرجع: https://html.spec.whatwg.org/multipage/syntax.html#character-references.
- ^ وصلة مرجع: https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt.
- ^ "FAQ - UTF-8, UTF-16, UTF-32 & BOM". Unicode.org. مؤرشف من الأصل في 2009-05-10. اطلع عليه بتاريخ 2017-01-28.
- ^ "Bug ID: JDK-6378911 UTF-8 decoder handling of byte-order mark has changed". Bugs.sun.com. مؤرشف من الأصل في 2013-12-21. اطلع عليه بتاريخ 2017-01-28.
- ^ Shanjian Li. "A composite approach to language/encoding detection". Archive.mozilla.org. مؤرشف من الأصل في 2017-09-21. اطلع عليه بتاريخ 2017-01-28.