Signatur
Beschreibung
convert_uuencode() wandelt eine beliebige Zeichenkette in das UUencode-Format um. UUencode (Unix-to-Unix-Encoding) ist ein älteres Kodierungsverfahren, das ursprünglich dazu diente, Binärdaten über UUCP-Leitungen und andere textbasierte Übertragungskanäle zu transportieren, die nur druckbare ASCII-Zeichen unterstützen.
Die Funktion kodiert jeweils 3 Bytes der Eingabe in 4 druckbare Zeichen (aus dem Bereich ASCII 32–95). Jede Zeile der Ausgabe beginnt mit einem Längen-Zeichen, das angibt, wie viele Bytes auf dieser Zeile kodiert sind. Die Ausgabe wird mit einem Backtick-Zeichen (`) und einem Zeilenumbruch abgeschlossen.
UUencode ist heute weitgehend durch Base64 abgelöst worden. Für neue Projekte sollte daher base64_encode() bevorzugt werden, da Base64 breiter unterstützt wird und mit modernen Standards kompatibel ist. convert_uuencode() ist dennoch nützlich, wenn man mit Legacy-Systemen oder älteren UNIX-Werkzeugen kompatibel bleiben muss.
Zum Dekodieren einer UUencodierten Zeichenkette steht die Funktion convert_uudecode() zur Verfügung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $string Pflicht | string | Die zu kodierende Zeichenkette. Kann beliebige Binärdaten oder Text enthalten. |
Rückgabewert
`) gefolgt von einem Zeilenumbruch.Beispiele
Einfache Zeichenkette UUencodieren und zurückdekodieren
<?php
$original = 'Hallo, Welt!';
$encoded = convert_uuencode($original);
$decoded = convert_uudecode($encoded);
echo "Original: " . $original . "\n";
echo "Kodiert: " . $encoded;
echo "Dekodiert: " . $decoded . "\n";
echo "Runde-Trip-Prüfung: " . ($original === $decoded ? 'OK' : 'Fehler') . "\n";
Binärdaten UUencodieren
<?php
// Binärdaten (z. B. aus einer Datei)
$binaryData = file_get_contents('/path/to/image.png');
if ($binaryData !== false) {
$encoded = convert_uuencode($binaryData);
echo "Originalgröße: " . strlen($binaryData) . " Bytes\n";
echo "Kodierte Größe: " . strlen($encoded) . " Bytes\n";
// Wiederherstellung und Vergleich
$decoded = convert_uudecode($encoded);
echo "Identisch nach Runde-Trip: " . ($binaryData === $decoded ? 'Ja' : 'Nein') . "\n";
} else {
echo "Datei konnte nicht gelesen werden.\n";
}
// Wichtig · Fallstricke
Veraltet / Legacy-Format: UUencode ist ein veraltetes Format und wird in modernen Anwendungen kaum noch eingesetzt. Für die Kodierung von Binärdaten in einem textbasierten Format (z. B. für E-Mail-Anhänge oder Data-URIs) sollte stattdessen base64_encode() verwendet werden, da Base64 allgemeiner unterstützt wird.
Ausgabegröße: Die UUencodierte Ausgabe ist ca. 35 % größer als die Eingabe, da 3 Bytes auf 4 Zeichen abgebildet werden – ähnlich wie bei Base64.
Keine Fehlerbehandlung: Die Funktion gibt immer einen String zurück und wirft keine Ausnahmen. Bei einer leeren Eingabe ('') wird ein minimaler gültiger UUencode-Block zurückgegeben.