ГОСТ Р ИСО 10303-21—2022
6.4.3 Строка (String)
6.4.3.1 Структура строки
Строка должна быть закодирована как апостроф " ’ ", за которым следует ноль или несколько
символов из основного алфавита, и заканчиваться апострофом " ’ ". Нулевая строка (строка нулевой
длины) должна быть закодирована последовательностью из двух апострофов """. Внутри строки еди
ничный апостроф должен быть закодирован как два последовательных апострофа. Внутри строки еди
ничная косая обратная черта "\" должна быть закодирована как бее косые обратные черты "\\".
Как указано в 5.2, октетное представление символов в кодовых точках от U + 0080 до U + 10FFFF
задается UTF-8. Когда требуется совместимость с предыдущими редакциями настоящего стандарта,
эти символы могут быть закодированы как шестнадцатеричные цифры (см. HEX в таблице 2) с исполь
зованием управляющих директив, определенных в 6.4.3.3.
Дополнительные символы должны быть закодированы с использованием шестнадцатеричных
цифр, как определено в 6.4.3.2, 6.4.3.3 и 6.4.3.4. WSN управляющих директив для закодированных
строк приведена в таблице 4.
Примечание — При определенных условиях было обнаружено, что передача четких текстовых файлов
по электронной почте повреждает точку в строковом значении. Рекомендации см. вА.2.2.
Таблица 4 — Управляющие директивы для строк
CONTROL_DIRECTIVE = PAGE |ALPHABET |EXTENDED2
|EXTENDED4 |ARBITRARY .
PAGE = REVERSE_SOLIDUS "S" REVERSE_SOLIDUS LATIN_CODEPOINT .
ALPHABET = REVERSE_SOLIDUS "P" UPPER REVERSE_SOLIDUS .
EXTENDED2
= REVERSE_SOLIDUS "X2" REVERSE_SOLIDUS
HEX_TWO { HEX_TWO } END_EXTENDED .
EXTENDED4
= REVERSE_SOLIDUS "X4" REVERSE_SOLIDUS
HEX_FOUR { HEX_FOUR } END_EXTENDED .
END_EXTENDED = REVERSE_SOLIDUS "X0M REVERSE_SOLIDUS .
ARBITRARY = REVERSE_SOLIDUS "X" REVERSE_SOLIDUS HEX_ONE .
HEX_ONE = HEX HEX .
HEX_TWO = HEX_ONE HEX_ONE .
HEX FOUR = HEX TWO HEX TWO .
6.4.3.2 Кодирование полного алфавита по стандартам серии ИСО/МЭК 8859 внутри строки
В стандартах серии ИСО/МЭК 8859 G (х/у) является обозначением символа в "колонке" х "строке"у,
т. е. значением кода (16 • х) + у в таблице кодов. Каждая часть ИСО/МЭК 8859 (ИСО/МЭК 8859-1 —
ИСО/МЭК 8859-9) идентична кодовым точкам ИСО/МЭК 10646 от U+0000 до U+007F в положениях от G
(02/00) до G (07/14). Стандарты серии ИСО/МЭК 8859 отличаются символами расширенного набора
символов — позициями от G (10/00) до G (15/14). Для того чтобы включить в строку символы из расши
ренного набора, необходимо использовать директивы управления.
Примечание — Директивы управления, описанные вданном разделе, сохраняются для совместимости
с предыдущими изданиями настоящего стандарта. Рекомендуется преобразовать все символы ИСО/МЭК 8859 в
соответствующие значения ИСО/МЭК 10646.
Директиву управления PAGE — обратная косая черта, прописная буква S, обратная косая чер
та ("\S\"), за которой следует символ LATIN_CODEPOINT (см. таблицу 1) — используют в строке для
того, чтобы позволить символу основного алфавита представить символ в соответствующей позиции
расширенного алфавита ИСО/МЭК 8859. Директиву управления PAGE следует интерпретировать в
11