Является ли BOM (Byte Order Mark) управляющим символом?
Я знаю, что в компьютерах есть 4 типа символов:
- Обычные символы (цифры или буквы типичного языка).
- Управляющие символы (символы, используемые для анализа того, как документально анализируется роботом или программой), такие как Line FInish (LF) или Carriage Return (CR).
- Метасимволы (любой персонаж, изображающий что-то, кроме себя).
Можно ли сказать, что символы спецификации также являются управляющими символами, такими как LF или CR?
2 ответа
Можно ли сказать, что символы спецификации также являются управляющими символами, такими как LF или CR?
Нет, это больше похоже на подпись:
Q: Что такое спецификация?
A: Метка порядка байтов (BOM) состоит из кода символа U+FEFF в начале потока данных, где он может использоваться в качестве подписи, определяющей порядок байтов и форму кодирования, в основном из немаркированных файлов открытого текста. В некоторых протоколах более высокого уровня использование спецификации может быть обязательным (или запрещенным) в потоке данных Unicode, определенном в этом протоколе.
Источник FAQ - UTF-8, UTF-16, UTF-32 и спецификация
В своем вопросе вы утверждаете:
Управляющие символы (символы, используемые для анализа того, как документально анализируется роботом или программой), такие как Line FInish (LF) или Carriage Return (CR).
Это выше неверно.
LF
обозначает перевод строки, а не перевод строки.Управляющие символы не имеют никакого отношения к тому, как анализируется документ:
Управляющий символ или непечатный символ - это кодовая точка (число) в наборе символов, которая не представляет собой письменный символ. Они используются в качестве внутриполосной сигнализации, чтобы вызывать эффекты, отличные от добавления символа к тексту.
Под спецификацией я предполагаю, что вы имеете в виду кодовую точку метки порядка байтов Unicode.
Вы придумываете свои собственные определения, поэтому определите спецификацию на любой тип, который вам нужен.
Разработчики стандарта Unicode имеют свои собственные определения. См . Стандарт Unicode, версия 9.0.0, раздел 3.4 Символы и кодировка. Определение D10a определяет "тип кодовой точки" как "семь фундаментальных классов кодовых точек в стандарте: графический, формат, контроль, частное использование, суррогатное, нехарактерный, зарезервированный". Эти типы подробно описаны в главе 23 " Особые области и символы формата". Раздел 23.8 Специальные определяет U+FEFF, "знак порядка байтов", как имеющий тип кодовой точки "Специальный".
Таким образом, разработчики стандарта Unicode имеют список из 7 типов кодовых точек, а метка байтового порядка имеет тип "Специальный". Включите это в свое собственное определение, как пожелаете.