Datei hochladen
  1. base64hub
  2. Weitere Basen
  3. Uuencode

Uuencode und Uudecode online

Tippen Sie Text ein und erhalten Sie klassische uuencode-Ausgabe mit begin- und end-Zeilen. Drehen Sie die Richtung zum Uudecoden um: Fügen Sie eine ganze Nachricht ein, und der Decoder findet die begin-Zeile, dekodiert den Block und bietet die Datei unter ihrem ursprünglichen Namen an.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Dateiname aus der begin-Zeile gelesen Aktualisiert 27.10.2026
Eingabe 0Bytes 0 BAusgabe 0

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So kodieren und dekodieren Sie uuencode

Zum Kodieren:

  1. Tippen oder fügen Sie Text in Eingabe · Text ein. Der uuencode-Block erscheint in Ausgabe · uuencode.
  2. Legen Sie unter der Ausgabe den Dateinamen fest; er kommt in die begin-Zeile. Voreingestellt ist data.bin.
  3. Deaktivieren Sie begin/end-Zeilen, wenn Sie nur die kodierten Zeilen brauchen, etwa um sie in ein anderes Format einzubetten.

Zum Dekodieren:

  1. Klicken Sie im Richtungsumschalter auf uuencode → Text.
  2. Fügen Sie die uuencodierten Daten ein. Sie dürfen den umgebenden Mail- oder News-Text enthalten; alles vor der begin-Zeile wird übersprungen.
  3. Lesen Sie den Text in der Ausgabe, oder klicken Sie auf Bytes speichern, um die dekodierte Datei unter dem Namen aus der begin-Zeile herunterzuladen. Bei binärem Inhalt stellen Sie Nach auf Hex, um ihn zuerst anzusehen.

Aufbau einer uuencodierten Datei

Den Text Cat mit dem Dateinamen hello.txt zu kodieren ergibt:

begin 644 hello.txt
#0V%T
`
end
  • begin 644 hello.txt nennt die Unix-Berechtigungen und den Dateinamen.
  • Jede Datenzeile beginnt mit einem Längenzeichen: die Anzahl der Bytes in der Zeile plus 32. # ist 35, diese Zeile enthält also 3 Bytes. Eine volle Zeile enthält 45 Bytes und beginnt mit M, gefolgt von 60 Zeichen.
  • Die Datenzeichen funktionieren ähnlich wie Base64: Je 3 Bytes werden zu vier 6-Bit-Werten, und jeder Wert v wird als Zeichen mit dem Code v + 32 geschrieben. Ein Wert von 0 wird statt als Leerzeichen als Backtick geschrieben.
  • Die Zeile mit einem einzelnen Backtick ist eine leere Zeile der Länge 0, und end schließt den Block.

Eine längere Eingabe zeigt den Aufbau voller Zeilen:

begin 644 fox.txt
M5&AE('%U:6-K(&)R;W=N(&9O>"!J=6UP<R!O=F5R('1H92!L87IY(&1O9RX@
*,#$R,S0U-C<X.0``
`
end

Das ist The quick brown fox jumps over the lazy dog. 0123456789: 45 Bytes in der M-Zeile und 10 in der *-Zeile (42 − 32 = 10). Jede Zeile trägt ihre eigene Länge plus einen Zeilenumbruch, uuencodierte Daten sind also etwa 38 % größer als die Eingabe, etwas mehr als bei Base64.

Wo uuencode noch auftaucht

uuencode stammt aus Unix-to-Unix Copy (UUCP) und war vor MIME der Standardweg, Binärdateien per E-Mail und Usenet zu verschicken. Heute begegnet es Ihnen in alten Mail-Archiven, Usenet-Beiträgen, manchen Dateiübertragungen auf Embedded-Systemen und Mainframes und in Skripten, die Dateien an mail weiterleiten.

Die Backtick-Konvention stammt aus dieser Zeit. Manche Gateways entfernten Leerzeichen am Zeilenende, was Daten zerstörte, die die Null als Leerzeichen kodierten; der Backtick übersteht das. Dieser Encoder schreibt Backticks, und der Decoder akzeptiert beides.

Uuencode auf der Kommandozeile und in Python

Mit installierten GNU sharutils:

uuencode hello.txt hello.txt > hello.uu
uudecode hello.uu

Das erste Argument ist die Eingabedatei, das zweite der Name, der in die begin-Zeile geschrieben wird. uudecode legt die Datei unter diesem Namen im aktuellen Verzeichnis an. Mit -m schreibt uuencode stattdessen Base64.

In Python kodiert binascii jeweils eine Zeile mit bis zu 45 Bytes:

import binascii

binascii.b2a_uu(b"Cat", backtick=True)   # b'#0V%T\n'
binascii.a2b_uu(b"#0V%T")                # b'Cat'

Die Zeile begin 644 name, die abschließende Backtick-Zeile und end fügen Sie selbst hinzu. Weitere Beispiele zum Kodieren finden Sie auf der Python-Seite.

Häufige Probleme

  • Ein Fehler an Position 1. Es gibt keine begin-Zeile, und der Text besteht auch nicht aus reinen uuencode-Zeilen. Prüfen Sie, ob Sie den ganzen Block kopiert haben.
  • Datenmüll aus einem begin-base64-Block. Dieser Block wurde von uuencode -m geschrieben und ist Base64. Kopieren Sie die Zeilen zwischen begin-base64 und ==== in den Base64-Decoder.
  • Die Datei ist abgeschnitten oder hat falsche Bytes an den Zeilenenden. Ein Mailprogramm hat die Zeilen neu umbrochen oder Leerzeichen am Zeilenende entfernt. Jede Datenzeile muss intakt sein; versuchen Sie, an den ursprünglichen Anhang oder den Quelltext der Nachricht zu kommen.
  • Ein mehrteiliger Beitrag wird nur teilweise dekodiert. Große Dateien wurden oft auf mehrere Nachrichten verteilt. Fügen Sie die Teile vor dem Dekodieren in der richtigen Reihenfolge zusammen, mit genau einem begin und einem end.

Häufige Fragen

Wie behebe ich „uuencode: command not found“?

Der Befehl ist auf den meisten Linux-Systemen nicht vorinstalliert. Unter Debian und Ubuntu installiert sudo apt install sharutils die Befehle uuencode und uudecode; Fedora hat ebenfalls ein Paket sharutils.

Was bedeutet begin 644?

644 ist der Unix-Dateimodus, den die dekodierte Datei bekommen soll (Besitzer lesen/schreiben, alle anderen lesen), und das Wort danach ist der Dateiname. uudecode legt diese Datei an; diese Seite verwendet den Namen für Bytes speichern.

Ist uuencode dasselbe wie Base64?

Beide machen aus 3 Bytes 4 Zeichen, aber uuencode verwendet den ASCII-Bereich vom Leerzeichen bis zum Unterstrich und fügt pro Zeile ein Längenzeichen hinzu. Base64 hat ein anderes Alphabet und ist das, was MIME-E-Mail verwendet. uuencode -m schreibt Base64 in einen begin-base64-Block.

Kann Python uuencodierte Dateien noch dekodieren?

Ja, mit binascii.a2b_uu, eine Zeile nach der anderen. Das höhere Modul uu wurde in Python 3.11 als veraltet markiert und in 3.13 entfernt.