UUENCODE

UUENCODE

UUE (англ. Uuencode) — метод представления двоичных данных в текстовой форме, пригодной для передачи через средства, предназначенные только для передачи текстов (например, через e-mail, FTN, транспортное кодирование).

Название происходит от расшифровки названия программ uuencode/uudecode: Unix-To-Unix encoding (decoding). В дальнейшем UUE в интернет-среде (почта, ньюсгруппы) был заменён на Фидонет.

Юю́ки — жаргонное наименование UUE-кодов в Фидонете.

Содержание

Описание формата

UUE данные начинаются со строки begin mode file, где modeUnix-права доступа к файлу в восьмиричной системе счисления (для DOS/Windows приложений это число всегда 644), а file — имя исходного файла.

При кодировании из файла берутся данные по три байта (в случае, если осталось меньше 3 байт, недостающие заменяются нулями). 24 бита, образующие эти три байта, делятся на четыре группы по 6 бит. Каждая шестибитная группа интерпретируется как число (от 0 до 26 − 1 = 63), к которому добавляется 32. Получившееся число в диапазоне от 32 до 95 трактуется как код символа в

Каждая группа из 60 символов (соответствует 45 байтам исходного файла) используется для создания отдельной строки. В начале строки указывается количество закодированных символов в строке (во всех строках, кроме последней это число 45, то есть символ 'M'). Каждая строка завершается символом перевода строки (\n или \n\r в зависимости от платформы).

После окончания данных кодируемого файла помещается строка, содержащая единственный пробел (и перевод строки), и строка с текстом «end».

Иногда в конце строки данных добавляют «пустые символы», обычно символ ` (младшие 6 битов которого равны нулю) для предотвращения повреждения строк некоторыми почтовыми программами.

Пример кодирования

Пример кодирования английского слова Cat.

Исходные символы C a t
ASCII коды (десятич.) 67 97 116
ASCII (двоичн.) 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 1 0 1 0 0
Новые десятичные значения 16 54 5 52
+32 48 86 37 84
Символы UUE 0 V % T

Итоговый результат (закодировано слово Cat):

begin 644 cat.txt
#0V%T
`
end

Таблица используемых символов UUE

Символ десятчиный
ASCII-код
Двоичный код Символ десятчиный
ASCII-код
Двоичный код
(пробел) 32 000 000   @ 64 100 000
! 33 000 001   A 65 100 001
" 34 000 010   B 66 100 010
# 35 000 011   C 67 100 011
$ 36 000 100   D 68 100 100
% 37 000 101   E 69 100 101
& 38 000 110   F 70 100 110
' 39 000 111   G 71 100 111
( 40 001 000   H 72 101 000
) 41 001 001   I 73 101 001
* 42 001 010   J 74 101 010
+ 43 001 011   K 75 101 011
, 44 001 100   L 76 101 100
- 45 001 101   M 77 101 101
. 46 001 110   N 78 101 110
/ 47 001 111   O 79 101 111
0 48 010 000   P 80 110 000
1 49 010 001   Q 81 110 001
2 50 010 010   R 82 110 010
3 51 010 011   S 83 110 011
4 52 010 100   T 84 110 100
5 53 010 101   U 85 110 101
6 54 010 110   V 86 110 110
7 55 010 111   W 87 110 111
8 56 011 000   X 88 111 000
9 57 011 001   Y 89 111 001
: 58 011 010   Z 90 111 010
; 59 011 011   [ 91 111 011
< 60 011 100   \ 92 111 100
= 61 011 101   ] 93 111 101
> 62 011 110   ^ 94 111 110
? 63 011 111   _ 95 111 111
  ` 96 (1) 000 000

Недостатки

  • За счёт использования только 6 битов из 8, потери при кодировании в UUE составляют 33 % (файл размером 1000 Кб займёт 1333 Кб в UUE).
  • Несмотря на узкий диапазон используемых символов, возникают проблемы при передаче UUE через старые компьютеры, использующие не ASCII кодировку (например,

    Особенности использования UUE в Фидонете

    UUE в Фидонете является стандартом де-факто для передачи двоичных данных. Это объясняется тем, что некоторые узлы отказывались передавать «приложенные» файлы (письма с флагом Att), что обеспечило UUE популярность в качестве альтернативы. В качестве дальнейших средств борьбы с передачей двоичных данных на некоторых узлах настраивали мейлеры и тоссеры на отказ в передаче и тех сообщений, которые содержат UUE.[1]

    Для обеспечения совместимости со старым программным обеспечением[2] размер письма во многих эхоконференциях до 2004‑2005 года ограничивался величиною, например, 32 кБ. С учётом служебной информации, добавляемой при распространении почты по Фидонету, письму не рекомендовалось превосходить размер 500 строк (~22 кБ оригинального файла). Файлы большего размера передаются в нескольких письмах, каждое такое письмо содержит одну секцию UUE. При этом в заголовке письма обычно указывается порядковый номер секции, а также общее число секций (в виде [6/55], где 6 — номер текущей секции, а 55 — общее число секций). Начальный номер секции различается в зависимости от используемого программного обеспечения (0 или 1).

    В эхоконференциях возможность использовать UUE регулируется правилами конференции; согласно требованию эхополиси R50, для принятия конференции на региональный бон в её правилах должно быть прописано ограничение на помещение UUE.[3] Существует множество небонных (не находящихся на региональном эхобоне) конференций, специализирующихся на передаче UUE-кодов.

    Самовольное помещение UUE большого объёма расценивается как XAB. Существует прецедент срочной экскоммуникации узла 2:5030/950 за помещение пользователем узла в конференцию SU.KASHENKO.LOCAL около 16 Мб MP3-файлов в формате UUE.

    Программное обеспечение

    Общего назначения

    Фидонет

    • Почтовый редактор GoldED+ также обеспечивается декодирование многосекционных UUE-кодов.
    • Заслуженной популярностью в Фидонете пользуется программа FastUUE Сергея Коровкина, способная публиковать и собирать не только двоичные (UUE), но и текстовые секции.
    • UUCode (Alex Lemenkov, Evgeny Nibylicin)
    • hpucode из состава проекта husky.

    Примечания

    1. При наложении такого запрета возникают проблемы «распознавания» многосекционных UUE-кодов.
    2. Основные ограничения вызваны распространённостью 16-битного программного обеспечения, предназначенного для например, тоссера FastEcho. Размер одного сегмента памяти, адресуемого такими программами, составляет 64 кБ, то есть 216 байтов.
    3. Вторая (действующая) версия эхополиси гласит: «Пересылка двоичных файлов в форматах UUENCODE, MIME и т. д. должна регламентироваться правилами конкретной эхоконференции, но в общем случае следует стремиться к снижению такого трафика — например, запретом помещения в конференцию двоичной информации без явного разрешения (ко)модератора».

    См. также

    • Base64
    • BinHex
    • YEnc
    • FIDO

    Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "UUENCODE" в других словарях:

  • Uuencode — war das erste verbreitete Programm, das es ermöglichte, Binärdateien (also z. B. Bilder oder Programme) so umzuwandeln, dass sie nur noch aus „druckbaren ASCII Zeichen“ bestehen und dadurch problemlos per E Mail verschickt werden konnten, in… …   Deutsch Wikipedia

  • UUencode — war das erste verbreitete Programm, das es ermöglichte, Binärdateien (also z. B. Bilder oder Programme) so umzuwandeln, dass sie nur noch aus „druckbaren ASCII Zeichen“ bestehen und dadurch problemlos per E Mail verschickt werden konnten, in …   Deutsch Wikipedia

  • Uuencode — Les programmes uuencode et son symétrique uudecode sont des programmes de conversions de données binaires en texte, disponibles sur la quasi totalité des systèmes Unix/Linux, il permettent de convertir sans dégradation des données binaires en vue …   Wikipédia en Français

  • UUEncode — proviene de UNIX to Unix Encoding. Se trata de un algoritmo de codificación que transforma código binario en texto. Concretamente, la entrada es un bloque de bytes de 8 bits (generalmente un archivo binario), y la salida un bloque texto de varias …   Wikipedia Español

  • UUEncode — proviene de UNIX to Unix Encoding . Se trata de un algoritmo de codificacion que transforma datos binarios en texto. Concretamente, la entrada es un bloque de bytes de 8 bits (generalmente un archivo binario), y la salida un bloque texto de… …   Enciclopedia Universal

  • UUEncode — UUEncode,   UU Kodierung …   Universal-Lexikon

  • uuencode — Les programmes uuencode et son symétrique uudecode sont des programmes de conversions de données binaires en texte, disponibles sur la quasi totalité des systèmes Unix/Linux, il permettent de convertir sans dégradation des données binaires en vue …   Wikipédia en Français

  • Uuencode — UUE (англ. Uuencode)  метод представления двоичных данных в текстовой форме, пригодной для передачи через средства, предназначенные только для передачи текстов (например, через e mail, FTN, транспортное кодирование). Название происходит от… …   Википедия

  • uuencode —    Pronounced [you youen code].    1. To convert a binary file such as a graphical image into a text file so that the file can be sent over the Internet or to a Usenet newsgroup as a part of an e mail message. When you receive a uuencoded… …   Dictionary of networking

  • uuencode — verb To encode (binary data) into a text based format for transmission. See Also: uudecode …   Wiktionary


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»