ГОСТ ISO/IEC 24824-1-2013
10.3 Алгоритм кодирования «base64»
10.3.1 Данный алгоритм кодирования имеет индекс словарной таблицы 2 и может быть применен
только к строкам символов, которые:
a) состоят полностью из символов LATIN CAPITAL LE TTE R А — LATIN CAPITAL LE TTE R Z. LATIN
SM ALL L E TTE R A — LATIN SMALL LE TTE R Z. DIGIT ZER O — DIGIT NINE. PLUS SIGN. SOLIDUS и
EQUALS SIGN и
П р и м е ч а н и е — П ри сутстви е в строке сим волов пробельны х сим волов X M L не допускается.
b
) представляют собой действительный экземпляр кодирования передачи содержимого (Content
Transfer Encoding) по IETF RFC 2045. n. 6.8 или становятся действительным экземпляром этого кодиро
вания после вставки пробельных символов XML там. где требуется IETF RFC 2045.
10.3.2 Строка символов должна интерпретироваться как кодирование Base64 (по IETF RFC 2045)
строки октетов (при условии, что пробельные символы XML присутствуют там. где требуется IETF RFC
2045). Полученная строка октетов является строкой октетов, определенной кодированием Base64.
10.3.3 Данный алгоритм кодирования пригоден для кодирования строк символов, которые не со
держат пробельных символов XML и являются строками Base64 (произвольной длины) или могут ими
стать, или после добавления пробельных символов XML.
10.4 Алгоритм кодирования «short»
10.4.1 Данный алгоритм кодирования имеет индекс словарной таблицы 3 и может быть применен
только к строкам символов, которые удовлетворяют всем следующим условиям:
a) строка символов полностью состоит из символов DIGIT ZER O — DIGIT NINE. HYPHEN-M INUS
и SPACE;
b) первый и последний символы не являются символами SPACE, и в строке нет пары смежных
символов SPACE;
c) строка символов содержит по крайней мере одно слово (см. 10.1.2);
d) каждый присутствующий символ HYPHEN-M INUS является первым символом слова;
e) за каждым из символов HYPHEN-M INUS следует по крайней мере один символ DIGIT ONE —
DIGIT NINE;
0 каждый символ DIGIT ZERO является единственным символом в слове или ему предшествует
символ DIGIT O NE — DIGIT NINE;
g)каждое слово в строке символов, интерпретированное как строка цифровых символов, пред
ставляющая целое десятичное значение со знаком, дает значение в диапазоне от минус 32768 до плюс
32767.
10.4.2 Каждое слово (см. 10.1.2) в строке символов должно быть интерпретировано как строка
цифровых символов, представляющая целое десятичное значение со знаком, и представлено как 16-
битное целое значение с дополнением до двух.
10.4.3 Каждая группа из 8 битов в 16-битном целом с дополнением до двух для слова дает октет
строки октетов, начиная с самой старшей группы из 8 битов. Самый старший бит в каждой группе из 8
битов становится самым старшим битом соответствующего октета. Если в строке символов имеется
несколько слов, то они должны быть закодированы по порядку, а октеты, задаваемые 16-битными це
лыми значениями с дополнением до двух, должны быть сцеплены в этом порядке.
10.4.4 Данный алгоритм кодирования пригоден для кодирования строк символов, представляю
щих целые значения в диапазоне от минус 32768 до плюс 32767 (представляемые как 16-битное целое
значение с дополнением до двух), или их списков.
10.5 Алгоритм кодирования «int»
10.5.1 Данный алгоритм кодирования имеет индекс словарной таблицы 4 и может быть применен
только к строкам символов, которые удовлетворяют всем следующим условиям:
a) строка символов удовлетворяет условиям 10.4.1. перечисления а) — f);
b) каждое слово в строке символов, интерпретированное как строка цифровых символов, пред
ставляющая целое десятичное значение со знаком, дает значение в диапазоне от минус 2147483648 до
плюс 2147483647.
10.5.2 Каждое слово (см. 10.1.2) в строке символов должно быть интерпретировано как строка
цифровых символов, представляющая целое десятичное значение со знаком, и представлено как 32-
битное целое значение с дополнением до двух.
29