ГОСТ 1»ИСО/МЭК 8825-2-2003
от 32 до 122. Для IA5String и VisibleString присутствуют все значения диапазона, а для NumericString
и PrintableString используются не все значения диапазона).
26.5.4 Наименьшее значение в диапазоне для набора символов допустимого алфавита обозна
чим lb, а наибольшее — ub. Тогда кодирование символа в b битах является неотрицательным
двоичным целым кодированием значения v. идентифицированного следующим образом;
а) если ub й 2* — 1, то в — указанное выше значение; в противном случае
б) символы размешаются в каноническом порядке, определенном в ГОСТ Р ИСО/МЭК 8824-1,
раздел 38. Первому из них присваивается нулевое значение, а следующему в каноническом порядке
присваивается значение на единицу больше значения, присвоенного предшествующему символу в
каноническом порядке. Это и будут значения v.
Прим с ч а н и с —Перечисление а) никогда нс применяется к ограниченному или неограниченному
символу NumcncString, который всегда кодируется в четыре бита или менее, используя б).
26.5.5 Кодирование всей символьной строки будет получено неотрицательным двоичным
целым кодированием каждого символа (используя соответствующее значение v) в Лбитах, которые
должны быть сцеплены для формирования битового поля, кратного b битам.
26.5.6 Если aub равно alb и меньше 64К. то битовое поле должно быть добавлено к списку
полей как выровненное, если aub более чем в 16 раз превышает b, или, в противном случае, как
невыровненное по октету. Этим завершаются процедуры настоящего подраздела.
26.5.7 Если aub не равно alb или больше или равно 64К. то должны быть применены процедуры
10.9 для добавления детерминанта длины е л в качестве счетчика символов в строке, с нижней
границей детерминанта длины alb и верхней границей aub. Затем битовое поле должно
быть добавлено к списку полей как выровненное, если aub более чем в 16 раз превышает Ь, или. в
противном
случае, как невыровненное по октету. Этим завершаются процедуры настоящего подраздела.
26.6Настоящий подраздел применяется к символьным строкам, которые не являются сим
вольными строками известной кратности. В этом случае ограничения явтяются невидимыми для
PER, а тип не может быть расширяемым для кодирования PER.
26.6.1 Используемый ниже термин «базовое кодирование* означает ОПК для BASIC-PER и
CANONICAL-BER для CANONICAL-PER.
26.6.2 К символьной строке должно быть применено «базовое кодирование», даюшее пате из
и октетов.
26.6.3 Должны быть применены процедуры 10.9 для добавления неограниченного детерминан
та длины с равным п счетчиком в октетах, а поле из и октетов должно быть добавлено как
выровненное по октету битовое поле, и процедуры этого раздела завершаются.
27 Кодирование неограниченного типа символьных строк
27.1 Установлены два способа, которыми может быть закодирован неограниченный тип сим
вольных строк:
а) альтернатива «syntaxes» неограниченного типа символьных строк ограничена видимым для
PER внутренним ограничением типа единственным значением или «identification* ограничен види
мым для PER внутренним ограничением типа альтернативой «fixed*; в этом случае должно
быть закодировано только значение «string-value*; этот случай называется «предопределенным*;
б) внутреннее ограничение типа не используется для ограничения альтернативы «syntaxes*
единственным значением или «identification» — альтернативной «fixed*; в гаком случае должны быть
закодированы как «identification», так и «string-value*; этот случай называется «общим».
27.2 В «предопределенном* случае кодированием значения типа CHARACTER STRING долж
но быть кодирование PER значения типа OCTET STRING. Значение OCTET STRING должно быть
октетами, образующими полное кодирование значения символьной строки, указанной в
ГОСТ Р ИСО/МЭК 8824-1, 39.3а.
27.3 В обшем случае кодированием значения типа CHARACTER STRING должно быть
кодирование PER типа, определенного в ГОСТ Р ИСО/МЭК 8824-1, 39.5. с исключенным эле
ментом «descriptor* (а именно не должно быть битового отображения «OPTIONAL» в заголовке
кодирования SEQUENCE). Значение «string-value* OCTET STRING должно быть октетами,
значенияданных,указанногов
образующимиполноекодированиеединственного
ГОСТ Р ИСО/МЭК 8824-1, 39.3а.
27