Anleitung
- Wählen Sie „Kodieren“, um einen xxencodierten Block zu erzeugen, oder „Dekodieren“, um einen solchen Block wieder in Daten umzuwandeln.
- Lassen Sie „begin-/end-Zeilen“ eingeschaltet und tragen Sie unter „Dateiname“ einen Namen ein, um einen vollständigen Block zu erhalten, oder schalten Sie die Option aus, um nur die Datenzeilen zu bekommen.
- Geben Sie Ihre Eingabe ein, fügen Sie sie ein oder öffnen Sie eine Datei. Das Ergebnis wird während der Eingabe aktualisiert.
- Kopieren Sie das Ergebnis oder laden Sie es herunter. Wählen Sie beim Dekodieren die Hex-Ausgabe oder laden Sie die Datei herunter, wenn die Daten kein Text sind.
Was ist Xxencode?
Xxencode übernimmt die Struktur von Uuencode und ändert nur die Zeichen. Je 3 Bytes werden weiterhin zu vier 6-Bit-Werten, Datenzeilen enthalten weiterhin bis zu 45 Bytes hinter einem Längenzeichen, und der Block steht weiterhin zwischen einer Zeile begin 644 name und einer Zeile end.
Die 64 Werte werden in dieser Reihenfolge auf +, -, die Ziffern 0-9, die Großbuchstaben A-Z und die Kleinbuchstaben a-z abgebildet. Das Längenzeichen verwendet dieselbe Tabelle, sodass eine volle Zeile mit 45 Bytes mit h beginnt und die leere Zeile vor end aus einem einzelnen + besteht. Da der Aufbau identisch ist, hat die Ausgabe dieselbe Größe wie bei Uuencode: Sie ist etwa 38 % größer als die Eingabe, Längenzeichen und Zeilenumbrüche mitgerechnet.
Warum Xxencode entwickelt wurde
Uuencode-Ausgaben sind voller Satzzeichen wie [, ], \, ^ und !. IBM-Großrechner verwenden EBCDIC statt ASCII, und diese Zeichen stehen in verschiedenen EBCDIC-Codepages an unterschiedlichen Positionen. Wenn E-Mails Gateways zwischen ASCII- und EBCDIC-Netzen passierten, konnten solche Zeichen falsch übersetzt werden, und die Datei war beschädigt.
Buchstaben, Ziffern, Plus und Minus sind in allen EBCDIC-Codepages gleich, daher lässt sich xxencodierter Text in beide Richtungen fehlerfrei umwandeln. MIME erreichte später dasselbe Ziel: Auch Base64 verwendet nur Buchstaben, Ziffern und wenige Symbole, die in ASCII und EBCDIC identisch sind. Xxencode wurde nie so verbreitet wie Uuencode, und Base64 löste schließlich beide ab.
Uuencode und Xxencode im Vergleich
| Uuencode | Xxencode | |
|---|---|---|
| Zeichen | ASCII 32 bis 95, Backtick für null | + - 0-9 A-Z a-z |
| Volle Zeile mit 45 Bytes beginnt mit | M | h |
| Letzte Zeile vor end | ` | + |
| Sicher über EBCDIC-Gateways | Nein | Ja |
Spezifikation
| Alphabet | + - 0-9 A-Z a-z |
|---|---|
| Ausgabegröße | Etwa 137 % inklusive Zeilenpräfixen |
| Auffüllung | Zeilen mit bis zu 45 Bytes |
| Standard | xxencode |
| Groß-/Kleinschreibung relevant | Ja |
Beispiele
| Eingabe (UTF-8) | Ausgabe |
|---|---|
Hello, World! | begin 644 data.bin
BG4JgP4wg63RjQalY6E++
+
end |
Base64.is | begin 644 data.bin
7Ea3nNHMo9aZn
+
end |
你好 | begin 644 data.bin
4t9qUtOKx
+
end |
Häufig gestellte Fragen
Wie unterscheide ich Uuencode und Xxencode?
h. Uuencodierte Zeilen enthalten Satzzeichen, und volle Zeilen beginnen mit M. Schlägt das Dekodieren hier mit einem ungültigen Zeichen fehl, versuchen Sie es auf der Seite Uuencode.Schreibt das Tool die begin- und end-Zeilen?
begin 644 mit dem eingegebenen Dateinamen sowie die abschließenden Zeilen. Schalten Sie die Option „begin-/end-Zeilen“ aus, wenn Sie nur die kodierten Datenzeilen benötigen.Kann ich einen Block ohne begin-Zeile dekodieren?
Ja. Ohne begin-Zeile wird jede nicht leere Zeile als Daten dekodiert. Mit begin-Zeile beginnt die Dekodierung danach und endet an der end-Zeile, sodass umgebender Text ignoriert wird.