UUencode Code

Herkunft / Verwendung: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. Ähnlich wie bei Base64 lassen sich so binäre Daten über nicht-binäre Kanäle, wie etwa e-mail, bei dem nur 7-bit-ASCII erlaubt ist, versenden.

Das UU in UUEncode steht für "Unix to Unix", also die Übertragung von einem Unix-Computer zu einem anderen Unix-Computer.

Beschreibung des Algorithmus

Drei Bytes (24 Bit) werden in vier mal 6 Bit (ebenfalls 24 Bit) aufgeteilt. Der 6-Bit-Wert, der maximal 26 (=64) annehmen kann, wird dann auf eines von 64 druckbaren ASCII-Zeichen abgebildet.



Der Binärcode (rot) wird in eine Bitfolge gewandelt. Jeweils 6 Bits werden auf ein Zeichen (gelb) abgebildet. Es werden jeweils 24-Bit-Blöcke kodiert. Gegebenenfalls wird mit 0-Bytes aufgefüllt, um den letzten Block zu vervollständigen. Diese Nullbytes am Ende werden beim Dekodieren dann wieder entfernt.

Um druckbare ASCII-Zeichen zu erhalten, wird auf die Werte der 6-Bit-Zahlen 32 addiert, denn bei 32 beginnt der druckbare ASCII-Satz, davor sind Steuerzeichen. Da aber ASCII 32 das Leerzeichen ist, und dieses z. B. bei der HTML-Darstellung oft zu Sschaden kommt (mehrere Leerzeichen werden durch eines ersetzt), wird statt des Leerzeichens für diesen Wert der nach links gerichtete Apostroph (`, ASCII 96) benutzt.

Beispiel

Binärfolge:C001DE3AF8AA (Hexcode)
Variante:UUEncode (ohne Header/Footer)
Kodiert:P`'>.OBJ
C0 01 DE 3A F8 AA <-- binär hexadezimal 110000000000000111011110001110101111100010101010 <-- binär 8 Bit gruppiert 110000000000000111011110001110101111100010101010 <-- binär 6 Bit gruppiert 48 0 7 30 14 47 34 42 <-- Gruppenwerte dezimal (0 bis 63) 80 32 39 62 46 79 66 74 <-- Verschiebung +32 P ` ' > . O B J <-- ASCII für Werte (Ausnahme: Leerzeichen -> `)

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)

Wenn Sie Texte eingeben, die nicht als Hex-Sequenz (ohne Leerzeichen) interpretiert werden können, erfolgt eine automatische Umsetzung in eine Hex-Sequenz. Ist Das Ergebnis umsetzbar in druckbare ASCII-Zeichen, erfolgt eine automatische Umsetzung von Hex.