55
правок
Изменения
Нет описания правки
'''Byte Order Mark (BOM)''' - Unicode символ, используемый для индикации порядка байтов (порядка байт) текстового файла. Его кодовый символ U+FEFF(ZERO WIDTH NON-BREAKING SPACE)''неразрывный пробел с нулевой шириной'', также именуемый ''меткой порядка байтов'' (англ. byte order mark, BOM). По спецификации его использование не является обязательным, однако если BOM используется, то он должен быть установлен вначале текстового файла. Помимо своего конкретного использования в качестве указателя порядка байтов, символ может также указать какой кодировкой Unicode закодирован текст.
Когда символ закодирован в 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.
BOM также используется для текста обозначенного как UTF-32, и не должен использоваться для текста обозначенного как UTF-32BE или UTF-32LE,поскольку символ U+0000 допускается Юникодом.
== Представление BOM в кодировках ==
{| class="wikitable"
|-
|}
== Ссылки ==