Uuencode-Kodierer
Macht aus „Hello, world!“ ein klassisches uuencode-Dokument mit dem Kopf begin 644 data.txt und liest solche Dokumente wieder als Text. Jede Zeile trägt bis zu 45 Bytes, Umlaute und Emojis kommen unverändert zurück, und ein kaputter Kopf wird abgelehnt statt erraten. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Text
- Hello, world!
- Ergebnis
- begin 644 data.txt -2&5L;&\L('=O<FQD(0 end
- Berechnungsmodus
- Encode
- Dateiname
- data.txt
- Dateimodus
- 644
Klassisches Unix-uuencode wandelt beliebige Bytes in ein mail-sicheres ASCII-Dokument um: mit einem begin-Kopf, der Berechtigungsmodus und Dateiname trägt, Rumpfzeilen, die jeweils mit einem Längenvorzeichen beginnen, und einer abschließenden end-Zeile. Man trifft das Format noch in Mailinglisten-Archiven, Firmware-Dumps, Usenet-Einfügungen und Legacy-Build-Skripten an, die uuencode oder uudecode aufrufen.
Woraus ein uuencode-Dokument besteht
Ein klassisches uuencode-Dokument hat drei Teile. Oben steht die begin-Zeile mit dem Unix-Rechtemodus in Oktalziffern, etwa 644, und einem Dateinamen wie data.txt. Darunter folgen die Datenzeilen: Jede beginnt mit einem Längenzeichen und packt dann je drei Bytes in vier druckbare Zeichen, bis zu 45 Bytes pro Zeile. Eine Zeile der Länge null und die end-Zeile schließen das Dokument ab. Ihr Text wird vorher in UTF-8-Bytes zerlegt, deshalb überstehen Umlaute, andere Schriften und Emojis den Hin- und Rückweg.
Alte Archive lesen, ohne Fehler zu übernehmen
Das Format begegnet Ihnen heute vor allem in alten Mailinglisten-Archiven, Firmware-Auszügen, Usenet-Beiträgen und älteren Build-Skripten. Beim Dekodieren werden Zeilen vor begin übersprungen, etwa Mail-Kopfzeilen, und Wagenrückläufe vereinheitlicht. Leerzeichen und Backtick gelten beide als Nullzeichen, weil historische Werkzeuge hier uneinig waren. Fehlt begin oder end, überschreitet eine Zeile 45 Bytes oder steht ein Zeichen außerhalb des Alphabets, bricht der Vorgang mit einer klaren Meldung ab, statt stillschweigend Unsinn auszugeben.
Text in klassisches Unix-uuencode kodieren
Die Engine serialisiert die Zeichenkette als UTF-8-Bytes und erzeugt ein Dokument, das mit begin beginnt, einer drei- oder vierstelligen oktalen Berechtigung wie 644 und einem einwortigen Dateinamen wie data.txt. Jede Rumpfzeile trägt bis zu fünfundvierzig Nutzbytes: das erste Zeichen ist das Längenvorzeichen, berechnet als ASCII-Wert zweiunddreißig plus Byteanzahl, gefolgt von Gruppen aus drei Bytes, die in vier druckbare Zeichen des historischen Sechsbit-plus-zweiunddreißig-Alphabets abgebildet werden. Eine Null-Längen-Abschlusszeile erscheint vor der finalen end-Zeile, damit klassische uudecode-Werkzeuge wissen, dass die Nutzlast vollständig ist.
Leere Zeichenketten sind gültig und erzeugen ein Dokument nur mit dem Terminator zwischen begin und end. Mehrsprachiger Text und Emoji gehen hin und zurück, weil der Pfad volles UTF-8 ist, kein Latin-1-Kurzschluss. Identische Eingaben erzeugen stets identische Ausgaben, weil der Algorithmus reine Arithmetik ist, ohne Netz, ohne Zufallssalz und ohne Wanduhr.
Uuencode-Dokumente dekodieren und fehlerhafte Eingaben behandeln
Setzen Sie mode auf decode und legen Sie ein vollständiges klassisches uuencode-Dokument in text ab, einschließlich begin-Zeile, längenvorangestellter Zeilen, Null-Längen-Terminator und end-Fuß. Führende Rauschzeilen vor begin werden übersprungen, damit Mail-Einfügungen noch funktionieren, Wagenrückläufe werden normalisiert, und sowohl Leerzeichen als auch Backtick gelten als kodiertes Nullzeichen, weil historische Werkzeuge bei der Sicherheit abschließender Leerzeichen uneins sind.
Die Engine parst oktalen Modus und Dateiname aus dem begin-Kopf, durchläuft jede Datenzeile, prüft, dass das Längenvorzeichen das klassische Maximum von fünfundvierzig Bytes nicht überschreitet, expandiert jedes Quartett zu drei Bytes und stoppt am Null-Längen-Terminator vor end. Nach der Wiederherstellung der Byte-Nutzlast wird sie mit einem fatalen Decoder als UTF-8 dekodiert, sodass auch korrupte Binärdaten, die kein gültiger Unicode-Text sind, sauber scheitern. Bevorzugen Sie diese Fähigkeit, wenn die Suchintention wörtlich uuencode oder uudecode für das klassische begin-Modus-Format ist; Base64, Base64url und PEM-Hüllen sind getrennte Landings mit anderen Alphabeten und Köpfen.
Häufige Fragen
Wie dekodiere ich ein uuencode-Dokument?
Senden Sie mode decode und legen Sie das vollständige Dokument (begin … end) in text ab.
Was geschieht bei fehlerhaftem uuencode-Eingang?
Die Fehlermeldung beschreibt das Problem; die Anfrage wird nicht berechnet.
Wie kodiere ich Text mit uuencode?
Fügen Sie Ihren Text ein und lassen Sie die Kodierung eingestellt. Sie erhalten ein vollständiges Dokument von begin bis end, das Sie per E-Mail oder Ticket weitergeben und auf der anderen Seite wieder dekodieren können.
Was bedeutet das erste Zeichen jeder Zeile?
Es ist das Längenzeichen: Sein ASCII-Wert minus 32 ergibt, wie viele Bytes die Zeile trägt, höchstens 45. Eine Zeile mit der Länge null schließt die Daten ab, danach folgt nur noch end.
Kann ich Dateinamen und Rechte im Kopf festlegen?
Ja. Beim Kodieren geben Sie einen Namen ohne Leerzeichen wie install.sh und einen Unix-Modus aus drei oder vier Oktalziffern wie 755 an; ohne Angabe gelten data.txt und 644. Beim Dekodieren müssen Ihre Angaben zum Kopf passen.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/enc/uuencode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/uuencode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/uuencode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/uuencode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/uuencode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "Hello, world!"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.uuencode",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Diese Fähigkeit kodiert normalen UTF-8-Text in ein vollständiges klassisches uuencode-Dokument oder dekodiert ein vollständiges Dokument zurück zu Text und lehnt fehlerhafte Köpfe, unzulässige Längenvorzeichen und ein defektes Rumpf-Alphabet mit einem klaren invalid_input-Fehler ab.
Text in klassisches Unix-uuencode kodieren
Senden Sie einen JSON-Körper mit dem Pflicht-Stringfeld text auf die Klartextnachricht, die Sie einpacken möchten, lassen Sie mode beim Standard encode oder setzen Sie mode ausdrücklich auf encode, und übergeben Sie optional filename und filemode für den begin-Kopf. Optionale Aliase input, value, s, payload und data werden für das text-Feld akzeptiert, wenn Clients ältere Formularnamen wiederverwenden. Die Antwort enthält result mit dem vollständigen uuencode-Dokument, mode encode, filename und filemode als Echo der Kopfwerte sowie bytes gleich der UTF-8-Länge vor der Kodierung, damit Tests die Größe prüfen können.
Uuencode-Dokumente dekodieren und fehlerhafte Eingaben behandeln
Fehlendes begin, fehlendes end, eine nicht leere Zeile nach dem Terminator, unzulässige Rumpfzeichen außerhalb des druckbaren uuencode-Bereichs oder ein abgeschnittener Rumpf, der kürzer ist als das Längenvorzeichen verlangt, lösen invalid_input mit einer expliziten Meldung aus statt stillem Müll. Erfolgreiche Dekodierung liefert result als wiederhergestellte Zeichenkette, mode decode, filename und filemode aus dem Kopf sowie bytes als dekodierte UTF-8-Länge. Wenn Sie optional filename oder filemode beim Decode angeben, müssen sie dem Kopf entsprechen, sonst schlägt die Anfrage fehl, was goldenen Tests hilft, eine bestimmte Hülle zu fixieren. Validierungsfehler werden in der vorausbezahlten API nicht berechnet, sodass das Sondieren einer verdächtigen Archiv-Einfügung für Betreiber günstig und für Endnutzer sicher ist.
API-Nutzung, Preise, Workflows und praktische Grenzen
Rufen Sie den kostenlosen uuencode-Kodierer im Browser für Unterrichtsdemos, Support-Playbooks und einmalige Umwandlungen auf, ohne GNU sharutils oder sprachspezifische uu-Module zu installieren. Ein anderer Workflow verifiziert, dass ein Dokumentationsbeispiel vor einer Freigabe noch zum dokumentierten Klartext dekodiert. Kombinieren Sie diesen Endpunkt nur dann mit Base64- oder quoted-printable-Werkzeugen, wenn eine Pipeline mit mehreren historischen Hüllen interoperieren muss, halten Sie die Schritte aber getrennt, damit jede Landing einer einzigen Suchintention entspricht. Nutzen Sie die vorausbezahlte KIT-API, wenn ein Backend, eine Serverless-Funktion oder ein SDK denselben Kodier- oder Dekodierschritt unter Guthaben zu $0.002 pro erfolgreichem Element braucht; fehlgeschlagene Validierung verbraucht nach der Ablehnung durch die Engine nie Guthaben. Ein typischer Workflow kodiert ein kurzes Shell-Snippet mit filename install.sh und filemode 755, verschickt das Dokument über ein Ticketsystem und dekodiert es auf dem Empfangsdienst mit mode decode und prüft, dass bytes und filename übereinstimmen. Autoren, die SDKs ausliefern, können das result-Feld direkt auf eine Kopierschaltfläche mappen, während die Beschriftungen filename, filemode und bytes Screenshots und OpenAPI-Beispiele für Leser selbsterklärend machen, die nur das klassische begin-644-name-Muster aus alten Manualseiten kennen.
Integrationsbeispiele
Legacy-Mail- und Usenet-Einfügungen
Dekodieren Sie klassische uuencode-Blöcke aus Mailinglisten-Archiven oder Usenet-Dumps zurück zu UTF-8-Text, mit klarem invalid_input, wenn eine Einfügung mitten in der Zeile abgeschnitten ist.
Dokumentations- und CI-Golden-Checks
Fixieren Sie encode- und decode-Fixtures mit begin-Köpfen und längenvorangestellten Zeilen, damit Continuous Integration sofort scheitert, wenn das klassische Alphabet oder die Terminatorregeln abweichen.
Support und Schulung
Agenten und Lernende wandeln Text im kostenlosen Browser-Widget in uuencode und zurück und lernen den historischen Modus- und Dateinamenkopf, ohne System-uuencode-Binärdateien zu installieren.
Technische Fragen
Wie kodiere ich Text mit uuencode?
Senden Sie JSON mit text auf Ihre Klartextzeichenkette und mode encode (oder lassen Sie mode weg). Setzen Sie optional filename und filemode für den begin-Kopf. Das result-Feld enthält das vollständige klassische uuencode-Dokument.
Was bedeutet das Längenvorzeichen jeder Zeile?
Das erste Zeichen jeder Datenzeile kodiert, wie viele dekodierte Bytes diese Zeile trägt (ASCII-Wert = 32 + Länge, mit Null-Längen-Terminator vor end). Klassische Zeilen tragen höchstens 45 Bytes.
Ist der uuencode-Kodierer kostenlos?
Das Browser-Werkzeug läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Element; Validierungsfehler werden nicht berechnet.