BOM
מתוך ויקיפדיה, האנציקלופדיה החופשית
BOM - או byte-order mark (סימן סדר-סיביות) הוא תו היוניקוד שערכו U+FEFF המופיע לרוב בתחילת מסמך או קובץ, ומטרתו לסמן אם התוכן המקודד שבהמשך הוא מסדר big-endian או מסדר little-endian - שתי אפשרויות שונות לקריאת הקידוד במסגרת הקידוד UTF-16. כמו כן, הסימן משמש גם להבחנה בין הקידודים UTF-8, UTF-16 ו-UTF-32.
כאמור, בקידוד UTF-8 אין שום משמעות לסימן, מלבד סימון הטקסט כבעל קידוד זה; סדר הבייטים בפענוח UTF-8 הוא תמיד זהה. [1] באופן עקרוני, חתימה זו אמורה להיות בלתי-נראית, אם כי לעתים מדווחות תקלות (נפוצות) בקריאת התו על ידי דפדפנים שונים באינטרנט (פירוט להלן). מאחר ש-UTF-8 הוא קידוד היוניקוד הנפוץ ברשת, מוטב שלא להוסיף את תו ה-BOM; עם זאת, תוכנות רבות במערכת ההפעלה חלונות (כמו למשל Notepad) מוסיפות את הסימן הזה, לצורך זיהוי עצמי של הקובץ כמקודד בקידוד זה.
[עריכה] תקלות נפוצות בעקבות שימוש ב-BOM ברשת
- בדפדפנים רבים שלא יודעים להתמודד היטב עם UTF-8 נוצרת שורה מיותרת בתחילת הדף המוצג, שמהווה פירוש לא נכון של תו ה-BOM (למשל: [2])
- בדפדפנים ובעורכי טקסט רבים הסימן מפורש לא נכון ומופיע בצורה הבאה: "", ולעתים בצורות דומות נוספות.
- הסימן מופיע בראשית הקובץ, ולכן מפריע לעתים קרובות בשליחת "headers", כלומר, מידע מותאם אישית שהשרת, לרוב על ידי שפת תיווך כמו PHP, מנסה לשלוח לדפדפן לפני התוכן (כמו למשל עוגיות)
[עריכה] קישורים חיצוניים
- The Unicode Standard, פרק 13 (סעיף 13.6) [אנגלית]
- שאלות נפוצות על UTF ועל BOM באתר unicode.org

