Прискорююча кнопка n назначена для пропусків при навігації по сторінкам. Пропуск для переходу на початок контента.

Даний документ є перекладом. У випадку будь-яких невідповідностей і помилок остання версія документу англійською мовою повинна розглядатися як офіційна. Першопочаткове авторське право належить W3C, як це вказано нижче.

Перекладач: Alexandr, Art life

s_gotoW3cHome Інтернаціоналізація
 

byte-order mark (BOM) в HTML

Аудиторія: шифровальщики XHTML / HTML (используя редакторы или скрипты), разработчики скриптов (PHP, JSP, и т.д.), шифровальщики CSS, Менеджеры веб-проектов, и каждый, кто хочет узнать что такое BOM, и как он влияет на HTML.

Примітка: Зміни були внесені до написаного англійською мовою оригіналу, так як цей документ був переведений. Дивіться журнал змін.

Питання

Что такое byte-order mark, и что мне необходимо знать о нем при создании HTML?

Відповідь

Что такое byte-order mark?

В начале 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.

Байты представляют BOM.

В кодировке UTF-8, наличие BOM не является существенным, поскольку, в отличие от UTF-16 кодирования, нет альтернативной последовательности байтов. Однако BOM могут еще встречаться в тексте закодированном в UTF-8, как побочный продукт перекодирования или потому, что он был добавлен редактором. В этом случае BOM часто называют подписью UTF-8.

Что я должен знать о BOM?

Когда BOM используется на страницах или редакторах для контента закодированного в UTF-8, иногда он может представить пробелы или короткие последовательности символов, имеющие странный вид (такие как ). Именно поэтому, при наличии выбора, для совместимости, как правило, лучше упустить BOM в UTF-8 контенте.

Больше информации о том, как обнаружить и удалить byte-order mark, смотрите Показ проблем, связанных с UTF-8 BOM. Используя Информатор W3C Интернационализации вы можете узнать где страница содержит BOM: в начале или дальше в контенте.

Если ваш редактор позволяет указать хотите ли вы BOM при сохранении контента в UTF-8, то вы всегда должны говорить нет.

BOM в преимуществах на диалоговой панели.

Если вы используете UTF-16. Согласно спецификации HTML5, если ваша страница закодирована как UTF-16, то вы должны использовать byte-order mark в HTML. Это будет использоваться, чтобы указать браузеру кодировку страницы.

Рекомендуется использовать UTF-8, а не UTF-16, если вы используете кодировку Unicode. Это будет традиционно для большинства людей.

 

Для UTF-16 в настоящее время HTML5 спецификация запрещает использование любого другого назначения кодирования внутри документа, хотя это все еще в стадии обсуждения и может измениться. По сути, это означает, что спецификация сама и является назначением, что вы должны добавить.

Потребность использовать BOM для контента закодированного в UTF-16 в HTML5 означает, что вы не должны обслуживать HTML5 документы помеченые как "UTF16BE" или "UTF16LE". Это потому, что стандарт Unicode говорит, что вы не должны использовать BOM, когда текст обозначен как одна из тех кодировок. Поэтому, если вы хотите назначить кодировку в заголовке HTTP (что не запрещено HTML5 спецификацией), вы должны использовать только IANA charset название "UTF-16".

Отметим, что это исключительно о маркировке контента. Конечно, фактическая последовательность байтов одинакова, или вы обозначаете контент как UTF-16 и добавляете BOM, или вы помечаете его как UTF16LE или UTF-16BE.

 

Доречі

byte-order mark также используется для текста обозначенного как UTF-32, и не должен использоваться для текста обозначенного как UTF-32BE или UTF-32LE. Однако, настоятельно не рекомендуется использовать UTF-32 для HTML контента, поэтому мы не упоминали его до сих пор.

Розкажіть нам про те, що Ви думаєте.

Підписатися на RSS джерело.

Нові джерела

Новини головної сторінки

Twitter (Новини головної сторінки)

‎@webi18n

Додаткові матеріали

Автор: Richard Ishida, W3C. Перекладач: Alexandr, Art life.

Допустимий XHTML 1.0!
Допустимий CSS!
Кодування UTF-8!

Переклад Англійського контенту від 2010-08-10. Переклад останнього оновлення 2011-04-01 10:00 GMT

Для перегляду історії внесення змін до перекладу натисність qa-byte-order-mark в блоге i18n.