> unix | klassisch | legacy <

// UUencoding – Unix‑to‑Unix-Encoding für binäre Daten über Textkanäle

[UNIX]

Unix-Standard

Klassisches Encoding-Verfahren, das seit Jahrzehnten für E-Mail, Usenet und Dateiübertragungen unter Unix verwendet wird.

[KOMPATIBEL]

Hohe Kompatibilität

Wird von vielen Unix/Linux-Systemen und älteren E‑Mail‑Clients nativ unterstützt.

[STRUKTURIERT]

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

NameBeschreibung
Length charbyte count + 32 (45 bytes -> M)
Group3 bytes -> 4 chars, each 6 bits + 32 (space..underscore)
Zero valuebacktick ` instead of space
Lineup to 45 bytes -> 60 chars
Headerbegin 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.

Weitere Sprachen