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

       

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


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

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

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

Рис 1.

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



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