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, מנסה לשלוח לדפדפן לפני התוכן (כמו למשל עוגיות)

[עריכה] קישורים חיצוניים

כלים אישיים