Hey,
ich hab grad ein Problem, dass ich alleine nicht gelöst bekomme :wacko:.
Quoted-Printable ersetzt in einem Text alle Sonderzeichen durch ein '=' und de dazugehörigen Hex-Code. Aus einem '=' wird also '=3D' und aus einem 'ß' z.B. wird ein '=DF'.
Außerdem wird, wenn eine Zeile zu lang wird ein Zeilenumbruch eingefügt, der mit einem '=' am Ende der Zeile gekennzeichnet wird.
Mehr dazu am besten auf Wikipedia.
Das zu decodieren dürfte ja nicht allzuschwer fallen...
Zuerst entferne ich die '=' am Ende und ersetze die Zeilenumbrüche.
$retr = StringRegExpReplace($retr, '(.+)=\r\n', '$1')
[/autoit]Jetzt muss man nur noch alle = & Hexcode ersetzen.
Also hab ich gedacht ich nehme StringregExpReplace.
Das Pattern dafür wäre:
In $1 steht jetzt der Hex-Code. Nur leider kann ich damit nicht viel Anfangen, da ich ihn innerhalb von StringRegExp nicht umwandeln kann :(.
Das müsste ja dann so irgendwie aussehen, aber das funktioniert logischerweise nicht.
$retr = StringRegExpReplace($retr, '=([0-9A-F]{2})', Chr(Dec('$1')))
[/autoit]Einem Umweg mit StringregExp und Stringreplace kann ich auch nicht gehen, weil dann einige Zeichen doppelt ersetzt werden können und nicht alles gleichzeitig ersetzt wird.
Hat da jemand eine Idee?
lg
anno2008