Signatur
Beschreibung
convert_uudecode() dekodiert eine Zeichenkette, die zuvor mit dem UUencoding-Verfahren (Unix-to-Unix-Encoding) kodiert wurde. UUencoding war ursprünglich dafür gedacht, Binärdaten über textbasierte Übertragungsprotokolle zu transportieren, bei denen nur druckbare ASCII-Zeichen erlaubt sind.
Die Funktion ist das Gegenstück zu convert_uuencode(). Sie erwartet eine gültige UU-kodierte Eingabe, wie sie von convert_uuencode() erzeugt wird, und stellt daraus die ursprünglichen Rohdaten wieder her.
UUencoding ist ein älteres Format und wird heute kaum noch eingesetzt — moderne Alternativen wie Base64 (base64_encode() / base64_decode()) sind wesentlich verbreiteter. convert_uudecode() ist dennoch nützlich, wenn Legacy-Systeme oder ältere E-Mail-Anhänge im UU-Format verarbeitet werden müssen.
Ist die übergebene Zeichenkette keine gültige UU-kodierte Eingabe, gibt die Funktion false zurück und erzeugt eine Warnung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $string Pflicht | string | Die UU-kodierte Zeichenkette, die dekodiert werden soll. Diese sollte zuvor mit convert_uuencode() oder einem kompatiblen UUencoding-Verfahren erzeugt worden sein. |
Rückgabewert
false zurückgegeben und eine Warnung ausgelöst.Beispiele
Einfaches Kodieren und Dekodieren mit UUencoding
<?php
$original = 'Hallo, Welt! Dies ist ein Test.';
// Kodieren
$encoded = convert_uuencode($original);
echo 'Kodiert:' . PHP_EOL;
echo $encoded . PHP_EOL;
// Dekodieren
$decoded = convert_uudecode($encoded);
echo 'Dekodiert:' . PHP_EOL;
echo $decoded . PHP_EOL;
// Vergleich
var_dump($original === $decoded);
Fehlerbehandlung bei ungültiger Eingabe
<?php
$invalid = 'Das ist keine gültige UU-kodierte Zeichenkette!';
$result = @convert_uudecode($invalid);
if ($result === false) {
echo 'Dekodierung fehlgeschlagen: Ungültige UU-kodierte Eingabe.' . PHP_EOL;
} else {
echo 'Dekodiert: ' . $result . PHP_EOL;
}
Verarbeitung von Binärdaten
<?php
// Beliebige Binärdaten (z. B. Bytes 0–15)
$binary = implode('', array_map('chr', range(0, 15)));
$encoded = convert_uuencode($binary);
$decoded = convert_uudecode($encoded);
echo 'Originallänge: ' . strlen($binary) . PHP_EOL;
echo 'Dekodierte Länge: ' . strlen($decoded) . PHP_EOL;
var_dump($binary === $decoded);
// Wichtig · Fallstricke
Veraltetes Format: UUencoding gilt als veraltet. Für neue Projekte sollte stattdessen base64_encode() und base64_decode() verwendet werden, da Base64 weiter verbreitet und besser standardisiert ist.
Fehlerbehandlung: Bei ungültiger Eingabe gibt die Funktion false zurück und löst eine PHP-Warnung aus. Der Rückgabewert sollte daher immer mit === false geprüft werden, da eine leere dekodierte Zeichenkette ebenfalls möglich ist.
Nicht für Sicherheitszwecke: UUencoding ist keine Verschlüsselung. Kodierte Daten können von jedem, der die Funktion kennt, trivial zurückgewandelt werden. Es bietet keinerlei Schutz vor unbefugtem Zugriff.