Является ли BOM (Byte Order Mark) управляющим символом?

Я знаю, что в компьютерах есть 4 типа символов:

  1. Обычные символы (цифры или буквы типичного языка).
  2. Управляющие символы (символы, используемые для анализа того, как документально анализируется роботом или программой), такие как Line FInish (LF) или Carriage Return (CR).
  3. Метасимволы (любой персонаж, изображающий что-то, кроме себя).

Можно ли сказать, что символы спецификации также являются управляющими символами, такими как LF или CR?

2 ответа

Решение

Можно ли сказать, что символы спецификации также являются управляющими символами, такими как LF или CR?

Нет, это больше похоже на подпись:

Q: Что такое спецификация?

A: Метка порядка байтов (BOM) состоит из кода символа U+FEFF в начале потока данных, где он может использоваться в качестве подписи, определяющей порядок байтов и форму кодирования, в основном из немаркированных файлов открытого текста. В некоторых протоколах более высокого уровня использование спецификации может быть обязательным (или запрещенным) в потоке данных Unicode, определенном в этом протоколе.

Источник FAQ - UTF-8, UTF-16, UTF-32 и спецификация


В своем вопросе вы утверждаете:

Управляющие символы (символы, используемые для анализа того, как документально анализируется роботом или программой), такие как Line FInish (LF) или Carriage Return (CR).

Это выше неверно.

  1. LF обозначает перевод строки, а не перевод строки.

  2. Управляющие символы не имеют никакого отношения к тому, как анализируется документ:

Управляющий символ или непечатный символ - это кодовая точка (число) в наборе символов, которая не представляет собой письменный символ. Они используются в качестве внутриполосной сигнализации, чтобы вызывать эффекты, отличные от добавления символа к тексту.

Персонаж управления персонажем

Под спецификацией я предполагаю, что вы имеете в виду кодовую точку метки порядка байтов Unicode.

Вы придумываете свои собственные определения, поэтому определите спецификацию на любой тип, который вам нужен.

Разработчики стандарта Unicode имеют свои собственные определения. См . Стандарт Unicode, версия 9.0.0, раздел 3.4 Символы и кодировка. Определение D10a определяет "тип кодовой точки" как "семь фундаментальных классов кодовых точек в стандарте: графический, формат, контроль, частное использование, суррогатное, нехарактерный, зарезервированный". Эти типы подробно описаны в главе 23 " Особые области и символы формата". Раздел 23.8 Специальные определяет U+FEFF, "знак порядка байтов", как имеющий тип кодовой точки "Специальный".

Таким образом, разработчики стандарта Unicode имеют список из 7 типов кодовых точек, а метка байтового порядка имеет тип "Специальный". Включите это в свое собственное определение, как пожелаете.

Другие вопросы по тегам