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, wo nur ASCII-Zeichen erlaubt sind.
Das Prinzip ist dabei ähnlich wie beim heute für e-Mail-Anhänge übliche Base64-Verfahren: Drei Bytes der Binärdatei (=24 bit) werden auf viermal 6 Bit aufgeteilt und den 6-bit-Werten werden druckbare ASCII-Zeichen zugeordnet. Erste Versionen von Uuencode benutzten dabei einfach die ASCII-Zeichen mit Wert 32-95.
Da das ASCII-Zeichen mit Wert 32 aber das Leerzeichen ist, und dieses den Mailversand oft nicht heil übersteht, wurde statt dessen das ASCII-Zeichen mit dem Wert 96 ("`") genommen.
Uuencode benutzt ein spezielles Format für die kodierte Datei:
begin modus dateiname
länge  daten
länge  daten
...
länge  daten
`
end
Als modus werden dabei die Dateirechte, wie sie unter Unix üblich sind, als 3- oder 4stellige Oktalzahl geschrieben. Der Dateiname ist der Name der Originaldatei, ohne Verzeichnis.
Jede Datenzeile beginnt mit einer 1-Byte-Längenangabe, die angibt, wie viele Originalbytes in dieser Zeile kodiert wurden. Die Zahl zw. 1 und 63 wird dabei ebenfalls uu-kodiert, also als Zeichen von "!" bis "_". Üblich sind 45 Byte (also der Wert "M") die in 60 Zeichen kodiert werden.
Um das Ende der Datei anzuzeigen, muss stets eine "Leerzeile" kodiert werden, die nur das Längenbyte 0 (kodiert "`") enthält. Abschließend folgt eine Zeile mit dem Schlüsselwort end.
Siehe auch: Kermit