Прискорююча кнопка n назначена для пропусків при навігації по сторінкам. Пропуск для переходу на початок контента.
Даний документ є перекладом. У випадку будь-яких невідповідностей і помилок остання версія документу англійською мовою повинна розглядатися як офіційна. Першопочаткове авторське право належить W3C, як це вказано нижче.
Перекладач: Alexandr, Art life
Аудиторія: шифровальщики XHTML / HTML (используя редакторы или скрипты), разработчики скриптов (PHP, JSP, и т.д.), шифровальщики CSS, Менеджеры веб-проектов, и каждый, кто хочет узнать что такое BOM, и как он влияет на HTML.
Примітка: Зміни були внесені до написаного англійською мовою оригіналу, так як цей документ був переведений. Дивіться журнал змін.
Что такое byte-order mark, и что мне необходимо знать о нем при создании HTML?
В начале Unicode файла вы можете найти несколько байтов, отображающих Unicode точку кода U+FEFF ZERO WIDTH NON-BREAKING SPACE (ZWNBSP). Эта комбинация байтов известна как byte-order mark (BOM).
Когда символ закодирован в UTF-16, его 2 или 4 байта можно упорядочить двумя разными способами (little-endian или big-endian). Изображение ниже показывает это. byte-order mark указывает, какой порядок используется, так что приложения могут немедленно расшифровать контент. UTF-16 контент должен всегда начинатся с BOM.

В кодировке UTF-8, наличие BOM не является существенным, поскольку, в отличие от UTF-16 кодирования, нет альтернативной последовательности байтов. Однако BOM могут еще встречаться в тексте закодированном в UTF-8, как побочный продукт перекодирования или потому, что он был добавлен редактором. В этом случае BOM часто называют подписью UTF-8.
Когда BOM используется на страницах или редакторах для контента закодированного в UTF-8, иногда он может представить пробелы или короткие последовательности символов, имеющие странный вид (такие как ). Именно поэтому, при наличии выбора, для совместимости, как правило, лучше упустить BOM в UTF-8 контенте.
Больше информации о том, как обнаружить и удалить byte-order mark, смотрите Показ проблем, связанных с UTF-8 BOM. Используя Информатор W3C Интернационализации вы можете узнать где страница содержит BOM: в начале или дальше в контенте.
Если ваш редактор позволяет указать хотите ли вы BOM при сохранении контента в UTF-8, то вы всегда должны говорить нет.

Если вы используете UTF-16. Согласно спецификации HTML5, если ваша страница закодирована как UTF-16, то вы должны использовать byte-order mark в HTML. Это будет использоваться, чтобы указать браузеру кодировку страницы.
Для UTF-16 в настоящее время HTML5 спецификация запрещает использование любого другого назначения кодирования внутри документа, хотя это все еще в стадии обсуждения и может измениться. По сути, это означает, что спецификация сама и является назначением, что вы должны добавить.
Потребность использовать BOM для контента закодированного в UTF-16 в HTML5 означает, что вы не должны обслуживать HTML5 документы помеченые как "UTF16BE" или "UTF16LE". Это потому, что стандарт Unicode говорит, что вы не должны использовать BOM, когда текст обозначен как одна из тех кодировок. Поэтому, если вы хотите назначить кодировку в заголовке HTTP (что не запрещено HTML5 спецификацией), вы должны использовать только IANA charset название "UTF-16".
byte-order mark также используется для текста обозначенного как UTF-32, и не должен использоваться для текста обозначенного как UTF-32BE или UTF-32LE. Однако, настоятельно не рекомендуется использовать UTF-32 для HTML контента, поэтому мы не упоминали его до сих пор.
Розкажіть нам про те, що Ви думаєте.
Підписатися на RSS джерело.
Twitter (Новини головної сторінки)
Переклад Англійського контенту від 2010-08-10. Переклад останнього оновлення 2011-04-01 10:00 GMT
Для перегляду історії внесення змін до перекладу натисність qa-byte-order-mark в блоге i18n.
Copyright © 2010-2011 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public and Member privacy statements.