UUE

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Uudecode»)
Текущая версия страницы покане проверялась опытными участниками и может значительно отличаться отверсии, проверенной 15 декабря 2019 года; проверки требуют8 правок.
Перейти к навигацииПерейти к поиску
Эта статья — о методе представления двоичных данных в текстовой форме. О химическом элементе см. Унуненний.

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

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

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

Содержание

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

[править |править код]

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

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

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

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

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

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

[править |править код]

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

Исходные символыCat
ASCII коды (десятич.)6797116
ASCII (двоичн.)010000110110000101110100
Новые десятичные значения1654552
+3248863784
Символы UUE0V%T

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

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

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

[править |править код]
Символдесятичный
ASCII-код
Двоичный кодСимволдесятичный
ASCII-код
Двоичный код
(пробел)32000 000 @64100 000
!33000 001 A65100 001
"34000 010 B66100 010
#35000 011 C67100 011
$36000 100 D68100 100
%37000 101 E69100 101
&38000 110 F70100 110
'39000 111 G71100 111
(40001 000 H72101 000
)41001 001 I73101 001
*42001 010 J74101 010
+43001 011 K75101 011
,44001 100 L76101 100
-45001 101 M77101 101
.46001 110 N78101 110
/47001 111 O79101 111
048010 000 P80110 000
149010 001 Q81110 001
250010 010 R82110 010
351010 011 S83110 011
452010 100 T84110 100
553010 101 U85110 101
654010 110 V86110 110
755010 111 W87110 111
856011 000 X88111 000
957011 001 Y89111 001
:58011 010 Z90111 010
;59011 011 [91111 011
<60011 100 \92111 100
=61011 101 ]93111 101
>62011 110 ^94111 110
?63011 111 _95111 111
 `96(1) 000 000

Недостатки

[править |править код]
  • Избыточность кодирования UUE составляет приблизительно 33 %.
  • Несмотря на узкий диапазон используемых символов, возникают проблемы при передаче UUE через старые компьютеры, использующие не ASCII кодировку (например,EBCDIC).[1]

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

[править |править код]

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

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

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

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

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

[править |править код]

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

[править |править код]

Фидонет

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

Примечания

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

Ссылки

[править |править код]
Перейти к шаблону «Форматы обмена данными»
Форматыcериализационных цифровых данных
Текстовые
Интернет и телекоммуникации
Медиа
Другие
Перейти к шаблону «Команды Unix»
Команды Unix
Перейти к шаблону «POSIX.1-2008»
УтилитыPOSIX.1-2008
Источник —https://ru.wikipedia.org/w/index.php?title=UUE&oldid=151350940
Категории:
Скрытая категория: