ГОСТ Р ИСО/МЭК 8825-1-2003
8.20 Кодирование значений ограниченных типов символьных строк
8.20.1 Значение данных состоит из строки символов из набора символов, специфицированного в определении типа АСН.1.
8.20.2 Каждое значение данных должно быть закодировано независимо от других значений данных того же типа.
8.20.3 Каждая символьная строка должна быть закодирована так, как если бы она была объявлена
[UNIVERSALx] IMPLICIT OCTET STRING,
где x — номер тега универсального класса, присвоенный типу символьной строки в ГОСТ Р ИСО/МЭК 8824-1. Значение строки октетов специфицируется в 8.20.4 и 8.20.5.
8.20.4 Когда символьная строка специфицирована в ГОСТ Р ИСО/МЭК 8824-1 прямой ссылкой на таблицу перечислений (NumericString и PrintableString), значение строки октетов должно быть таким, как установлено в 8.20.5 для типа VisibleString с тем же значением символьной строки.
8.20.5 Для ограниченных символьных строк, кроме UniversalString и BMPString, строка содержит октеты, определенные в ИСО/МЭК 2022 для кодирования в 8-битном контексте, используя управляющую последовательность и кодирования символов, зарегистрированные в соответствии с ИСО 2375.
8.20.5.1 Может использоваться только та управляющая последовательность, которая специфицирована одним из регистрационных номеров, используемых для определения типа строки символов в ГОСТ Р ИСО/МЭК 8824-1.
8.20.5.2 В начале каждой строки должны быть присвоены определенные регистрационные номера для обозначения и вызова GO, и/или СО, и/или С1 (используя терминологию ИСО/МЭК 2022). Для каждого типа эти номера установлены в таблице 3 вместе с подразумеваемыми ими управляющими последовательностями.
8.20.5.3 Некоторые типы символьных строк не должны содержать явных управляющих последовательностей в своих кодированиях; во всех остальных случаях любая управляющая последовательность, разрешенная 8.20.5.1, может появиться в любое время, включая начало кодирования. В таблице 3 перечислены типы, для которых допускаются явные управляющие последовательности.
8.20.5.4 Объявления не должны использоваться, если они явно не разрешены пользователем АСН.1.
Примечание — Выбор типа ACH.1 предоставляет ограниченные возможности функций объявлений. Конкретные прикладные протоколы могут передавать объявления в других элементах протокола или подробно указывать способ использования объявлений.
Таблица 3 — Использование управляющих последовательностей
|
Тип |
Присвоенный GO (регистрационный номер) |
Присвоенный СО или С1 (регистрационный номер) |
Присвоенные управляющие последовательности и фиксация регистра (где применимо) |
Явные последовательности разрешены? |
|
NumericString |
6 |
Нет |
ESС 2/8 4/2 LS0 |
Нет |
|
PrintableString |
6 |
Нет |
ESС 2/8 4/2 LS0 |
Нет |
|
TeletexString
(T61String) |
102 |
106 (С0)
107 (С1) |
ESС 2/8 7/5 LS0
ESС 2/1 4/5
ESС 2/2 4/8 |
Да |
|
VideotexString |
2 |
1 (С0)
73 (С1) |
ESС 2/8 7/5 LS0
ESС 2/1 4/0
ESС 2/2 4/1 |
Да |
|
VisibleString (IS0646String) |
6 |
Нет |
ESС 2/8 4/2 LS0 |
Нет |
|
IA5String |
6 |
1 (С0) |
ESС 2/8 4/2 LS0
ESС 2/1 4/0 |
Нет |
|
GraphicString |
6 |
Нет |
ESС 2/8 4/2 LS0 |
Да |
|
GeneralString |
6 |
1 (C0) |
ESС 2/8 4/2 LS0
ESС 2/1 4/0 |
Да |
|
Примечание — Многие из обычно используемых символов (например, A—Z) появляются в ряде символьных репертуаров с индивидуальными регистрационными номерами и управляющими последовательностями. Когда типы ACH.1 допускают управляющие последовательности, возможно несколько кодирований для конкретной символьной строки (см. также 7.3). |
15