UUE

Поделись знанием:
(перенаправлено с «Ююки»)
Перейти к: навигация, поиск

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

Название происходит от расшифровки названия программ uuencode/uudecode: Unix-To-Unix encoding (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, однако значение имеют только младшие шесть бит кода символа. (В силу свойств кодировки ASCII изменение регистра символа не меняет его младшие шесть битов).[1]

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

После окончания данных кодируемого файла помещается строка, содержащая единственный пробел (и перевод строки), и строка с текстом «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

Недостатки

  • Избыточность кодирования 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/950 за помещение пользователем узла в конференцию SU.KASCHENKO.LOCAL около 16 Мб MP3-файлов в формате UUE.

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

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

Фидонет

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

Напишите отзыв о статье "UUE"

Примечания

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

См. также

Ссылки

  • [algolist.manual.ru/compress/standard/uue.php UUE-кодирование]
  • [www.opengroup.org/onlinepubs/009695399/utilities/uuencode.html Описание программы uuencode в стандарте POSIX] Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition  (англ.)

Отрывок, характеризующий UUE

– Аринка, глянь ка, на бочькю сидит! Сама сидит, а подол болтается… Вишь рожок!
– Батюшки светы, ножик то…
– Вишь татарка!
– Как же ты не перекувыркнулась то? – говорила самая смелая, прямо уж обращаясь к Наташе.
Дядюшка слез с лошади у крыльца своего деревянного заросшего садом домика и оглянув своих домочадцев, крикнул повелительно, чтобы лишние отошли и чтобы было сделано всё нужное для приема гостей и охоты.
Всё разбежалось. Дядюшка снял Наташу с лошади и за руку провел ее по шатким досчатым ступеням крыльца. В доме, не отштукатуренном, с бревенчатыми стенами, было не очень чисто, – не видно было, чтобы цель живших людей состояла в том, чтобы не было пятен, но не было заметно запущенности.
В сенях пахло свежими яблоками, и висели волчьи и лисьи шкуры. Через переднюю дядюшка провел своих гостей в маленькую залу с складным столом и красными стульями, потом в гостиную с березовым круглым столом и диваном, потом в кабинет с оборванным диваном, истасканным ковром и с портретами Суворова, отца и матери хозяина и его самого в военном мундире. В кабинете слышался сильный запах табаку и собак. В кабинете дядюшка попросил гостей сесть и расположиться как дома, а сам вышел. Ругай с невычистившейся спиной вошел в кабинет и лег на диван, обчищая себя языком и зубами. Из кабинета шел коридор, в котором виднелись ширмы с прорванными занавесками. Из за ширм слышался женский смех и шопот. Наташа, Николай и Петя разделись и сели на диван. Петя облокотился на руку и тотчас же заснул; Наташа и Николай сидели молча. Лица их горели, они были очень голодны и очень веселы. Они поглядели друг на друга (после охоты, в комнате, Николай уже не считал нужным выказывать свое мужское превосходство перед своей сестрой); Наташа подмигнула брату и оба удерживались недолго и звонко расхохотались, не успев еще придумать предлога для своего смеха.
Немного погодя, дядюшка вошел в казакине, синих панталонах и маленьких сапогах. И Наташа почувствовала, что этот самый костюм, в котором она с удивлением и насмешкой видала дядюшку в Отрадном – был настоящий костюм, который был ничем не хуже сюртуков и фраков. Дядюшка был тоже весел; он не только не обиделся смеху брата и сестры (ему в голову не могло притти, чтобы могли смеяться над его жизнию), а сам присоединился к их беспричинному смеху.
– Вот так графиня молодая – чистое дело марш – другой такой не видывал! – сказал он, подавая одну трубку с длинным чубуком Ростову, а другой короткий, обрезанный чубук закладывая привычным жестом между трех пальцев.
– День отъездила, хоть мужчине в пору и как ни в чем не бывало!
Скоро после дядюшки отворила дверь, по звуку ног очевидно босая девка, и в дверь с большим уставленным подносом в руках вошла толстая, румяная, красивая женщина лет 40, с двойным подбородком, и полными, румяными губами. Она, с гостеприимной представительностью и привлекательностью в глазах и каждом движеньи, оглянула гостей и с ласковой улыбкой почтительно поклонилась им. Несмотря на толщину больше чем обыкновенную, заставлявшую ее выставлять вперед грудь и живот и назад держать голову, женщина эта (экономка дядюшки) ступала чрезвычайно легко. Она подошла к столу, поставила поднос и ловко своими белыми, пухлыми руками сняла и расставила по столу бутылки, закуски и угощенья. Окончив это она отошла и с улыбкой на лице стала у двери. – «Вот она и я! Теперь понимаешь дядюшку?» сказало Ростову ее появление. Как не понимать: не только Ростов, но и Наташа поняла дядюшку и значение нахмуренных бровей, и счастливой, самодовольной улыбки, которая чуть морщила его губы в то время, как входила Анисья Федоровна. На подносе были травник, наливки, грибки, лепешечки черной муки на юраге, сотовой мед, мед вареный и шипучий, яблоки, орехи сырые и каленые и орехи в меду. Потом принесено было Анисьей Федоровной и варенье на меду и на сахаре, и ветчина, и курица, только что зажаренная.
Всё это было хозяйства, сбора и варенья Анисьи Федоровны. Всё это и пахло и отзывалось и имело вкус Анисьи Федоровны. Всё отзывалось сочностью, чистотой, белизной и приятной улыбкой.
– Покушайте, барышня графинюшка, – приговаривала она, подавая Наташе то то, то другое. Наташа ела все, и ей показалось, что подобных лепешек на юраге, с таким букетом варений, на меду орехов и такой курицы никогда она нигде не видала и не едала. Анисья Федоровна вышла. Ростов с дядюшкой, запивая ужин вишневой наливкой, разговаривали о прошедшей и о будущей охоте, о Ругае и Илагинских собаках. Наташа с блестящими глазами прямо сидела на диване, слушая их. Несколько раз она пыталась разбудить Петю, чтобы дать ему поесть чего нибудь, но он говорил что то непонятное, очевидно не просыпаясь. Наташе так весело было на душе, так хорошо в этой новой для нее обстановке, что она только боялась, что слишком скоро за ней приедут дрожки. После наступившего случайно молчания, как это почти всегда бывает у людей в первый раз принимающих в своем доме своих знакомых, дядюшка сказал, отвечая на мысль, которая была у его гостей:
– Так то вот и доживаю свой век… Умрешь, – чистое дело марш – ничего не останется. Что ж и грешить то!
Лицо дядюшки было очень значительно и даже красиво, когда он говорил это. Ростов невольно вспомнил при этом всё, что он хорошего слыхал от отца и соседей о дядюшке. Дядюшка во всем околотке губернии имел репутацию благороднейшего и бескорыстнейшего чудака. Его призывали судить семейные дела, его делали душеприказчиком, ему поверяли тайны, его выбирали в судьи и другие должности, но от общественной службы он упорно отказывался, осень и весну проводя в полях на своем кауром мерине, зиму сидя дома, летом лежа в своем заросшем саду.
– Что же вы не служите, дядюшка?
– Служил, да бросил. Не гожусь, чистое дело марш, я ничего не разберу. Это ваше дело, а у меня ума не хватит. Вот насчет охоты другое дело, это чистое дело марш! Отворите ка дверь то, – крикнул он. – Что ж затворили! – Дверь в конце коридора (который дядюшка называл колидор) вела в холостую охотническую: так называлась людская для охотников. Босые ноги быстро зашлепали и невидимая рука отворила дверь в охотническую. Из коридора ясно стали слышны звуки балалайки, на которой играл очевидно какой нибудь мастер этого дела. Наташа уже давно прислушивалась к этим звукам и теперь вышла в коридор, чтобы слышать их яснее.
– Это у меня мой Митька кучер… Я ему купил хорошую балалайку, люблю, – сказал дядюшка. – У дядюшки было заведено, чтобы, когда он приезжает с охоты, в холостой охотнической Митька играл на балалайке. Дядюшка любил слушать эту музыку.
– Как хорошо, право отлично, – сказал Николай с некоторым невольным пренебрежением, как будто ему совестно было признаться в том, что ему очень были приятны эти звуки.
– Как отлично? – с упреком сказала Наташа, чувствуя тон, которым сказал это брат. – Не отлично, а это прелесть, что такое! – Ей так же как и грибки, мед и наливки дядюшки казались лучшими в мире, так и эта песня казалась ей в эту минуту верхом музыкальной прелести.
– Еще, пожалуйста, еще, – сказала Наташа в дверь, как только замолкла балалайка. Митька настроил и опять молодецки задребезжал Барыню с переборами и перехватами. Дядюшка сидел и слушал, склонив голову на бок с чуть заметной улыбкой. Мотив Барыни повторился раз сто. Несколько раз балалайку настраивали и опять дребезжали те же звуки, и слушателям не наскучивало, а только хотелось еще и еще слышать эту игру. Анисья Федоровна вошла и прислонилась своим тучным телом к притолке.
– Изволите слушать, – сказала она Наташе, с улыбкой чрезвычайно похожей на улыбку дядюшки. – Он у нас славно играет, – сказала она.
– Вот в этом колене не то делает, – вдруг с энергическим жестом сказал дядюшка. – Тут рассыпать надо – чистое дело марш – рассыпать…
– А вы разве умеете? – спросила Наташа. – Дядюшка не отвечая улыбнулся.
– Посмотри ка, Анисьюшка, что струны то целы что ль, на гитаре то? Давно уж в руки не брал, – чистое дело марш! забросил.
Анисья Федоровна охотно пошла своей легкой поступью исполнить поручение своего господина и принесла гитару.
Дядюшка ни на кого не глядя сдунул пыль, костлявыми пальцами стукнул по крышке гитары, настроил и поправился на кресле. Он взял (несколько театральным жестом, отставив локоть левой руки) гитару повыше шейки и подмигнув Анисье Федоровне, начал не Барыню, а взял один звучный, чистый аккорд, и мерно, спокойно, но твердо начал весьма тихим темпом отделывать известную песню: По у ли и ице мостовой. В раз, в такт с тем степенным весельем (тем самым, которым дышало всё существо Анисьи Федоровны), запел в душе у Николая и Наташи мотив песни. Анисья Федоровна закраснелась и закрывшись платочком, смеясь вышла из комнаты. Дядюшка продолжал чисто, старательно и энергически твердо отделывать песню, изменившимся вдохновенным взглядом глядя на то место, с которого ушла Анисья Федоровна. Чуть чуть что то смеялось в его лице с одной стороны под седым усом, особенно смеялось тогда, когда дальше расходилась песня, ускорялся такт и в местах переборов отрывалось что то.