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

512
JohnDoea

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

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

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

4
Вы говорите "есть 4 типа символов", а затем перечисляете только 3 ... DavidPostill 7 лет назад 0

2 ответа на вопрос

2
DavidPostill

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

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

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

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

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


В своем вопросе вы заявляете:

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

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

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

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

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

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

1
Jim DeLaHunt

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

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

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

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

Похожие вопросы