ГОСТ Р ИСО/МЭК 8824-1-2001
My-Character-String :: = BMPString (FROM (Basic Latin | BasicArabic))
П р и м е ч а н и е —Приведенная консгрукция необходима потому, что более простая.
My-Character-String : : = BMPString (BasicLatin | BasicArabic) допускает лишь строки, состоя
щие целиком из символов либо BASIC LATIN, либо BASIC ARABIC, но ие из их смеси.
38 Канонический порядок символов
38.1 Для создания подтипов с помощью "ValueRange" и возможности использования правил
кодирования определен канонический порядок символов для UniversalString, BMPString,
NumericString. PrintableString, VisibleString и IASString.
38.2 Для целей только данного раздела каждый символ имеет однозначное соответствие ячей
ке кодовой таблицы, независимо от того, присвоено ли ячейке имя символа и представление,
является ли символ управляющим или печатным, комбинированным или некомбинированным.
38.3 Канонический порядок абстрактных символов определяется каноническим порядком их
ячеек.
38.4 Для UniversalString канонический порядок ячеек определяется (см. ИСО/МЭК 10646-1)
как:
256* (256*(128* (номер группы) + (номер плоскости)) + (номер строки)) + (номер ячейки)
Полный набор содержит ровно 128*256*256*256 символов. Конечные точки диапазонов
"ValueRange" в нотациях "PemiittedAlphabet" (или отдельных символов) могут быть заданы, исполь зуя
либо ссылку на значение АСН.1, определенную в модуле ASN1-CHARACTER-MODULE, либо
(когда графический символ является недвусмысленным в контексте спецификации) графическим
символом в "cstring" (модуль ASN1 -CHARACTER-MODULE определен в 37.1). Невозможно задать
ячейку в качестве конечной точки диапазона или идентифицировать отдельный символ, когда этой
ячейке не присвоено имя символа или представление.
38.5 Для BMPString канонический порядок ячеек определяется (см. ИСО/МЭК 10646-1) как
256*(номер строки) + (номер ячейки)
Полный набор содержит ровно 256*256 символов. Конечные точки диапазонов "ValueRange" в
нотациях "PermittedAlpltabet" (или отдельных символов) могут быть заданы, используя либо ссылку
на значение ACH.I, определенную в модуле ASNI -CHARACTER-MODULE, либо (когда графичес
кий символ является недвусмысленным в контексте спецификации) графическим символом в "cstring".
Невозможно задать ячейку в качестве конечной точки диапазона или идентифицировать отельный
символ, когда этой ячейке не присвоено имя символа или представление.
38.6 Язя NumericString канонический порядок с возрастанием слева направо определяется (см.
таблицу 4 в 36.2) как
(пробел) 0 1 2 3 4 5 6 7 8 9
Полный набор содержит ровно 11символов. Конечная точка диапазона “ValueRange" (или от
дельные символы) может быть задана использованием графического символа в “cstring".
II р и м е ч а н и е - Этот порядок является тем же самым, что н порядок соответствующих символов в
совокупности BASIC LATIN ИСО/МЭК 10646-1.
38.7 Язя PrintableString канонический порядок с возрастанием слева направо определяется (см.
таблицу 5 в 36.4) как
(пробел) (апостроф) (левая скобка) (правая скобка) (знак плюс)
(запятая) (дефис) (точка) (наклонная черта) 0123456789
(двоеточие) (знак равенства) (знак вопроса)
ABCDEFG НJJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Полный набор содержит ровно 74 символа. Конечная точка диапазона “ValueRange" (или от
дельные символы) может быть задана использованием графического символа в "cstring".
П р и м е ч а н и е —’Этот порядок является тем же самым, что и порядок соответствующих символов в
совокупности BASIC LATIN ИСО/МЭК 10646-!.
38.8 Язя VisibleString канонический порядок ячеек определяется кодированием ИСО 646 (на
званным ISO 646 ENCODING) следующим образом:
(ISO 646 ENCODING) - 32
51