ГО С Т ISO/IEC 24824-1-2013
С.15.2 В данном пункте (С .15) описано кодирование значения типа N o n ld e n tify in g S trin g -
O rindex. когда кодирование должно начаться с третьего бита октета (см. также С. 14). Данное значение
кодируют, выполняя следующие действия (в указанном порядке).
П ри м ечани е — Кодирование данного типа всегда заканчивают на восьмом бите другого или того же
октета.
С.15.3 При наличии альтернативы lit e r a l-c h a r a c t e r -s t r in g к потоку битов добавляют бит ’0’
(дискриминант) и lit e r a l-c h a r a c t e r -s t r in g кодируют, как описано в двух следующих подпунктах.
С.15.3.1 Если значение компонента a d d -to -ta b le равно TR U E, то к потоку битов добавляют бит
’1’, в противном случает добавляют бит ’0’.
С.15.3.2 Значение компонента c h a ra c te r-s trin g кодируют, как описано в С.20.
С .15.4 При наличии альтернативы s tr in g -in d e x к потоку битов добавляют бит Т (дискрими
нант) и s tr in g -in d e x кодируют, как описано в С.28.
С .16 Кодирование типа Nam eSurrogate
С .16.1 Тип Nam eSurrogate определен в 7.15 следующим образом.
NameSurrogateSEQUENCE {
prefix-string-index INTEGER(1..one-meg) OPTIONAL,
namespace-name-string-index INTEGER(1..one-meg) OPTIONAL,
local-name-string-index INTEGER(1..one-meg) )
(CONSTRAINED BY {--
p r e fix -s trin g -in d e x должен
—
п р и с утс тв о в а ть , только если
—
п р и сутств уе т nam espace-nam e-
-
-
s t r in g -in d e x
--})
С.16.2 Значение типа Nam eSurrogate кодируют, выполняя следующие действия (в указанном
порядке).
П рим ечание — Кодирование данного типа всегда начинают с седьмого бита октета и заканчивают на
восьмом бите другого октета.
С.16.3 При наличии опционального компонента p re fix -s trin g -in d e x к потоку битов добавляют
бит ’1’ (наличие), в противном случае добавляют бит ’0’ (отсутствие).
С.16.4 При наличии опционального компонента n a m e sp a ce -n a m e -strin g-in d e x к потоку битов
добавляют бит ’1’ (наличие), в противном случав добавляют бит 0’ (отсутствие).
С.16.5 При наличии опционального компонента p re fix -s trin g -in d e x к потоку битов добавляют
бит ’0’ (забивка) и компонент кодируют, как описано в С.25.
С .16.6 При наличии опционального компонента n a m e sp a ce -n a m e -strin g-in d e x к потоку битов
добавляют бит ’0’ (забивка) и компонент кодируют, как описано в С.25.
С .16.7 К потоку битов добавляют бит ’0’ (забивка) и компонент lo c a l-n a m e -s trin g -in d e x коди
руют, как описано в С.25.
С.17
Кодирование типа
QualifiedNameOrlndex,
начиная со второго бита октета
С .17.1 Тип QualifiedNam eOrlndex определен в 7.16 следующим образом.
QualifiedNameOrlndex ::» CHOICE (
literal-qualified-name SEQUENCE {
prefix IdentifyingStringOrlndex OPTIONAL
—
Категория PREFIX,
namespace-name IdentifyingStringOrlndex OPTIONAL
—
Категория NAMESPACE NAME
local-name IdentifyingStringOrlndex
—
Категория LOCAL NAME
— },
name-surrogate-index INTEGER (1..one-meg) )
71