Справочник по сетевым протоколам

       

Процедура кодирования сообщений UUcode


Назначение процедуры - такое же, как и у процедуры Base64. Процедура до недавнего времени широко использовалась в сети Internet. В настоящее она постепенно вытесняется более гибкой процедурой Base64.

Входные данные программы UUEncode начинаются со слова “begin” и заканчиваются словом “end”. В строке “begin” также указывается трехзначный номер и имя файла. Трехзначное число указывает права доступа и нотации Unix; обычно для исполняемых программ это число 755 или 700, а для других типов файлов - 644 или 600. Остальные строки содержат непосредственно закодированные данные (рис. 1).

Каждая строка закодированных данных начинается с символа, указывающего на число байт в декодированной строке. Чтобы получить символ ASCII нужно добавить 32 к числу байта в декодированной строке. Последняя строка начинается с символа (‘) , заменяющего пробел (ASCII 32) и указывающего на то, что эта строка не содержит ни одного байта данных. Такая строка помещается в конце каждого файла. Обычно длинный, закодированный программой UUEncode файл имеет в начале большинства строк символ М, это означает, что полная строка кодирует ровно 45 байт данных.

Процедура кодирования сообщений UUcode

Рис 1.

Процедура декодирования UUEncode аналогична процедуре декодирования Base 64, описанной выше. Отличие состоит в том, что вместо таблицы преобразования символов каждые 6 бит суммируются с числом 32, получая, таким образом, значение символа в интервале от пробела (для нуля) до символа подчеркивания (ASCII). <



Содержание раздела