Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. Uuencode (besser wäre UUcode da es UUencode und UUdecode UUD gibt) war das erste Programm das es ermöglichte Binärdateien (also z.B. oder Programme) so umzuwandeln dass sie nur aus "druckbaren ASCII-Zeichen" bestehen und dadurch problemlos E-Mail verschickt werden konnten wo nur ASCII-Zeichen sind.
Das Prinzip ist dabei ähnlich wie heute für E-Mail-Anhänge übliche Base64 -Verfahren: Drei Bytes der Binärdatei (=24 bit) auf viermal 6 Bit aufgeteilt und den werden druckbare ASCII-Zeichen zugeordnet. Erste Versionen von benutzten dabei einfach die ASCII-Zeichen mit Wert
Da das ASCII-Zeichen mit Wert 32 das Leerzeichen ist und dieses den Mailversand nicht heil übersteht wurde statt dessen das mit dem Wert 96 (" ` ") genommen.
UUencode benutzt ein spezielles Format für kodierte Datei:
begin modus dateiname
länge  daten
länge  daten
...
länge  daten
`
end
Als modus werden dabei die Dateirechte wie sie Unix üblich sind als 3- oder 4stellige Oktalzahl geschrieben. Der Dateiname ist der Name der Originaldatei ohne
Jede Datenzeile beginnt mit einer 1-Byte-Längenangabe angibt wie viele Originalbytes in dieser Zeile wurden. Die Zahl zw. 1 und 63 dabei ebenfalls uu-kodiert also als Zeichen von ! " bis " _ ". Üblich sind 45 Byte (also der " M ") die in 60 Zeichen kodiert werden.
Die Daten liegen in der uuencodierten in 4er Gruppen vor. Diese 4 Zeichen 3 dekodierten Zeichen:
Also 3 8 Bit-Zeichen werden in 6er-Gruppen zerstückelt:
wenn aaaaaa < 32 ist wird 0 gesetzt ist aaaaaa > 32 dann w 1 gesetzt. Unabhängig davon wird aaaaaa die exor-Verknüpfung mit 32 verknüpft.
Um das Ende der Datei anzuzeigen stets eine "Leerzeile" kodiert werden die nur Längenbyte 0 (kodiert " ` ") enthält. Abschließend folgt eine Zeile mit Schlüsselwort end .