Online UUencoder / UUdecoder Tool



If you encounter any errors with this tool attaching the file that causes problems.




About

Uuencoding is a form of binary-to-text encoding that originated in the Unix program uuencode, for encoding binary data for transmission over the uucp mail system. The name "uuencoding" is derived from "Unix-to-Unix encoding". Since uucp converted characters between various computers' character sets, uuencode was used to convert the data to fairly common characters that were unlikely to be "translated" and thereby destroy the file. The program uudecode reverses the effect of uuencode, recreating the original binary file exactly. uuencode/decode became popular for sending binary files by e-mail and posting to usenet newsgroups, etc. It has now been largely replaced by MIME and yEnc. With MIME, files that might have been uuencoded are transferred with base64 encoding.

(Source: Wikipedia)


How do UUdecode multi-part UUencoded files

Simply merge all parts into one. You can truncate all the unnecessary headers or leave them in place - it doesn't matter since this UUdecode tool skips irrelevant data. You can paste the data directly into the textarea or prepare a single file off-line using any plain-text editor and upload it.


Recognizing files encoded using UUencode

The best indicator that a file is encoded by UUencode is the .UUE (or sometimes .UU) extension.
Another simple test is checking if all lines (possible except the last one) begin with the 'M' character.

A file encoded with UUencode usually starts with a header line of the form:

begin <mode> <file>

Where <mode> is the file's Unix read/write/execute permissions (irrelevant for windows users), and <file> is the name to be used when decoding the file using UUdecode.

The end of uuencoded data is marked by two trailing lines of the following format:

`
end

The accent grave indicates a line encoding zero characters.

Lines between the header and trailer encode data. Each starts with a byte indicating the number of data bytes encoded on that line and ends with a newline character. All lines, except perhaps the last, encode 45 bytes of data. The corresponding encoded length value is 'M', so most lines begin with 'M'. If the count of data bytes is not divisible by three, one or two additional bytes of zero are appended. These are not included in the count at the beginning of the last line.

The line count is encoded by adding 32. In ASCII the first thirty-two characters are unprintable and controlled data transmission. They could be modified or deleted by transmission. The next ninety-five characters at code 32 and above are all printable. Since the line count is in the range 0-45, adding 32 converts it into a printable character. The ASCII code for 'M' is exactly 45+32. For a zero length line, adding 32 to 0 gives a space character. This character was also problematic for data transmission, so accent grave (`, code 96) is used instead. Subtracting 32 produces a value whose lower six bits are 0.

(Source: Wikipedia)


For example, uuencoding this whole section would give the following result:

begin 644 webutils_pl
M4F5C;V=N:7II;F<@9FEL97,@96YC;V1E9"!U<VEN9R!5565N8V]D90T*#0I!
M(&9I;&4@96YC;V1E9"!W:71H(%5596YC;V1E('5S=6%L>2!S=&%R=',@=VET
M:"!A(&AE861E<B!L:6YE(&]F('1H92!F;W)M.@T*#0IB96=I;B`\;6]D93X@
M/&9I;&4^#0H-"E=H97)E(#QM;V1E/B!I<R!T:&4@9FEL92=S(%5N:7@@<F5A
M9"]W<FET92]E>&5C=71E('!E<FUI<W-I;VYS("AI<G)E;&5V86YT(&9O<B!W
M:6YD;W=S('5S97)S*2P@86YD(#QF:6QE/B!I<R!T:&4@;F%M92!T;R!B92!U
M<V5D('=H96X@9&5C;V1I;F<@=&AE(&9I;&4@=7-I;F<@555D96-O9&4N#0H-
M"E1H92!E;F0@;V8@=75E;F-O9&5D(&1A=&$@:7,@;6%R:V5D(&)Y('1W;R!T
M<F%I;&EN9R!L:6YE<R!O9B!T:&4@9F]L;&]W:6YG(&9O<FUA=#H-"@T*8`T*
M96YD#0H-"E1H92!A8V-E;G0@9W)A=F4@:6YD:6-A=&5S(&$@;&EN92!E;F-O
M9&EN9R!Z97)O(&-H87)A8W1E<G,N#0H-"DQI;F5S(&)E='=E96X@=&AE(&AE
M861E<B!A;F0@=')A:6QE<B!E;F-O9&4@9&%T82X@16%C:"!S=&%R=',@=VET
M:"!A(&)Y=&4@:6YD:6-A=&EN9R!T:&4@;G5M8F5R(&]F(&1A=&$@8GET97,@
M96YC;V1E9"!O;B!T:&%T(&QI;F4@86YD(&5N9',@=VET:"!A(&YE=VQI;F4@
M8VAA<F%C=&5R+B!!;&P@;&EN97,L(&5X8V5P="!P97)H87!S('1H92!L87-T
M+"!E;F-O9&4@-#4@8GET97,@;V8@9&%T82X@5&AE(&-O<G)E<W!O;F1I;F<@
M96YC;V1E9"!L96YG=&@@=F%L=64@:7,@)TTG+"!S;R!M;W-T(&QI;F5S(&)E
M9VEN('=I=&@@)TTG+B!)9B!T:&4@8V]U;G0@;V8@9&%T82!B>71E<R!I<R!N
M;W0@9&EV:7-I8FQE(&)Y('1H<F5E+"!O;F4@;W(@='=O(&%D9&ET:6]N86P@
M8GET97,@;V8@>F5R;R!A<F4@87!P96YD960N(%1H97-E(&%R92!N;W0@:6YC
M;'5D960@:6X@=&AE(&-O=6YT(&%T('1H92!B96=I;FYI;F<@;V8@=&AE(&QA
M<W0@;&EN92X-"@T*5&AE(&QI;F4@8V]U;G0@:7,@96YC;V1E9"!B>2!A9&1I
M;F<@,S(N($EN($%30TE)('1H92!F:7)S="!T:&ER='DM='=O(&-H87)A8W1E
M<G,@87)E('5N<')I;G1A8FQE(&%N9"!C;VYT<F]L;&5D(&1A=&$@=')A;G-M
M:7-S:6]N+B!4:&5Y(&-O=6QD(&)E(&UO9&EF:65D(&]R(&1E;&5T960@8GD@
M=')A;G-M:7-S:6]N+B!4:&4@;F5X="!N:6YE='DM9FEV92!C:&%R86-T97)S
M(&%T(&-O9&4@,S(@86YD(&%B;W9E(&%R92!A;&P@<')I;G1A8FQE+B!3:6YC
M92!T:&4@;&EN92!C;W5N="!I<R!I;B!T:&4@<F%N9V4@,"TT-2P@861D:6YG
M(#,R(&-O;G9E<G1S(&ET(&EN=&\@82!P<FEN=&%B;&4@8VAA<F%C=&5R+B!4
M:&4@05-#24D@8V]D92!F;W(@)TTG(&ES(&5X86-T;'D@-#4K,S(N($9O<B!A
M('IE<F\@;&5N9W1H(&QI;F4L(&%D9&EN9R`S,B!T;R`P(&=I=F5S(&$@<W!A
M8V4@8VAA<F%C=&5R+B!4:&ES(&-H87)A8W1E<B!W87,@86QS;R!P<F]B;&5M
M871I8R!F;W(@9&%T82!T<F%N<VUI<W-I;VXL('-O(&%C8V5N="!G<F%V92`H
M8"P@8V]D92`Y-BD@:7,@=7-E9"!I;G-T96%D+B!3=6)T<F%C=&EN9R`S,B!P
M<F]D=6-E<R!A('9A;'5E('=H;W-E(&QO=V5R('-I>"!B:71S(&%R92`P+@T*
M#0HH4V]U<F-E.B!7:6MI<&5D:6$I#0H-"D9O<B!E>&%M<&QE+"!U=65N8V]D
M:6YG('1H:7,@=VAO;&4@<V5C=&EO;B!W;W5L9"!G:79E('1H92!F;VQL;W=I
*;F<@<F5S=6QT.@``
`
end