> unix | klassisch | legacy <
// UUencoding – Unix‑to‑Unix-Encoding für binäre Daten über Textkanäle
Unix-Standard
Klassisches Encoding-Verfahren, das seit Jahrzehnten für E-Mail, Usenet und Dateiübertragungen unter Unix verwendet wird.
Hohe Kompatibilität
Wird von vielen Unix/Linux-Systemen und älteren E‑Mail‑Clients nativ unterstützt.
Selbstbeschreibendes Format
Enthält Dateiberechtigungen und Dateinamen im Encoded‑Output, sodass Dateien korrekt wiederhergestellt werden können.
>> technische details
Wie UUencoding funktioniert:
UUencoding konvertiert Binärdaten in ASCII‑Text mit druckbaren Zeichen ab Leerzeichen (ASCII 32). Wie bei Base64 werden 3 Bytes in 4 Zeichen encodiert, jedoch mit einem anderen Zeichensatz und zusätzlichen Header‑Zeilen (begin/end).
Beispiel:
"Hello" → begin 644 data\n%2&5L;&\\`\n`\nend
Warum UUencoding verwenden:
- >Kompatibilität mit klassischen Unix/Linux‑Tools
- >Erhält Dateiberechtigungen und Dateinamen
- >Selbstenthaltendes Textformat für E‑Mail und Usenet
- >Nützlich für die Arbeit mit alten Archiven und Skripten
- >Sinnvoll, wenn bestehende Workflows UUencode erwarten
>> häufige fragen
Was ist UUencoding?
UUencoding (Unix‑to‑Unix Encoding) ist ein Binär‑zu‑Text‑Verfahren, das verwendet wurde, um Binärdateien über reine Textkanäle wie E‑Mail oder Usenet zu übertragen.
Worin unterscheidet sich UUencoding von Base64?
Beide encodieren 3 Bytes in 4 Zeichen, aber UUencoding nutzt einen anderen Zeichensatz ab Leerzeichen (ASCII 32) und fügt in den begin/end‑Zeilen Dateiberechtigungen und Dateinamen hinzu.
Wann sollte ich UUencoding einsetzen?
Wenn Sie mit älteren Unix‑Systemen, Skripten oder Attachments arbeiten, die ausdrücklich UUencode erwarten, oder wenn Sie historische Datenquellen analysieren.
Ist UUencoding heute noch relevant?
In modernen Workflows dominiert Base64, aber UUencoding wird weiterhin in manchen Unix‑Utilities, Legacy‑Systemen und Altarchiven verwendet.
// Kurzreferenz
| Name | Beschreibung |
|---|---|
| Length char | byte count + 32 (45 bytes -> M) |
| Group | 3 bytes -> 4 chars, each 6 bits + 32 (space..underscore) |
| Zero value | backtick ` instead of space |
| Line | up to 45 bytes -> 60 chars |
| Header | begin 644 filename |
| Trailer | ` line, then end |
// Durchgerechnetes Beispiel
Input Cat (0x43 0x61 0x74) Bits 010000 110110 000101 110100 = 16 54 5 52 +32 48 86 37 84 -> 0 V % T Line #0V%T (# = 3 bytes + 32) begin 644 cat.txt #0V%T ` end
>> Weitere Fragen
F: Was ist UUencode?
A: Ein historisches Verfahren aus dem Unix-System („Unix-to-Unix encode“), das Binärdaten in druckbare ASCII-Zeichen umwandelt, um sie per E-Mail oder Usenet zu versenden. Jeweils 3 Bytes werden zu 4 Zeichen, der Overhead beträgt etwa 33 %.
F: Wie unterscheidet sich UUencode von Base64?
A: Beide wandeln 3 Bytes in 4 Zeichen um. UUencode addiert 32 zu jedem 6-Bit-Wert (Zeichen von Leerzeichen bis „_“), Base64 nutzt A–Z a–z 0–9 + /. UUencode fügt zusätzlich Längenzeichen pro Zeile sowie begin/end-Zeilen mit Dateiname und Rechten hinzu.
F: Wird UUencode noch verwendet?
A: Selten. MIME mit Base64 hat es für E-Mail weitgehend abgelöst. Sie begegnen UUencode noch in alten Usenet-Archiven und Unix-Tools wie uuencode/uudecode. Für neue Anwendungen ist Base64 die bessere Wahl.