UTF-8 mit Shell konvertieren

03/11/2016 - 20:52 von Helmut Schellong | Report spam
3 14122 M Stimmen Sie ab: Index-Zertifikat au "finanzen.net"
<no-reply@nl.finanz
4 8328 M finanzen.net=?UTF-8?Q? benöt "finanzen.net"
<no-reply@nl.finanz
5 12731 M =?utf-8?b?Rm9jdXMtT25saW5lOiBKZXR6d Mandy Brauer
<info@bhv-guenstig.or
6 13857 M =?utf-8?b?Rm9jdXMtT25saW5lOiBXaWUgZ Birgit Schweizer
<info@bhv-aktuell
7 7522 t Re: =?UTF-8?B?w5xiZXJsZWJlbnNrYW1wZ
__________________________________________________________________________________________
212.211.15.187 pop.fanta.de var@schellong.biz 'xyz' n=3 bG299
t023 q=1
Info-Liste holen : i | I
Loeschen : l {n|v-b}... | * | tHM- | {min.max|min.|.max}
Halten : h {n|v-b}... | tHM- | {min.max|min.|.max}
Beenden : E
_


Vorstehend die Ausgabe eines uralten pop3-Skriptes.

Dann will ich doch mal sehen, wie jemand (anderer) die diversen
UTF-8-Strings nur mit einer Shell umwandelt.
Das ist eine schöne Aufgabe.


Mit freundlichen Grüßen
Helmut Schellong var@schellong.biz
www.schellong.de www.schellong.com www.schellong.biz
http://www.schellong.de/c.htm
 

Lesen sie die antworten

#1 Helmut Schellong
05/11/2016 - 20:44 | Warnen spam
On 11/03/2016 20:52, Helmut Schellong wrote:

3 14122 M Stimmen Sie ab: Index-Zertifikat au "finanzen.net"

4 8328 M finanzen.net=?UTF-8?Q? benöt "finanzen.net"

5 12731 M =?utf-8?b?Rm9jdXMtT25saW5lOiBKZXR6d Mandy Brauer

6 13857 M =?utf-8?b?Rm9jdXMtT25saW5lOiBXaWUgZ Birgit Schweizer

7 7522 t Re: =?UTF-8?B?w5xiZXJsZWJlbnNrYW1wZ
__________________________________________________________________________________________

212.211.15.187 pop.fanta.de 'xyz' n=3 bG299
t023 q=1
Info-Liste holen : i | I
Loeschen : l {n|v-b}... | * | tHM- | {min.max|min.|.max}
Halten : h {n|v-b}... | tHM- | {min.max|min.|.max}
Beenden : E
_


Vorstehend die Ausgabe eines uralten pop3-Skriptes.

Dann will ich doch mal sehen, wie jemand (anderer) die diversen
UTF-8-Strings nur mit einer Shell umwandelt.
Das ist eine schöne Aufgabe.



Überrascht mich nicht.
Wie üblich ist das eine Aufgabe, die nur perl
und - als Shell - bsh lösen können:

=[ $(ver n) -lt 670 ] && { echo Shell zu alt!; exit 1; }

Utf8() {
local utf="$1" buf="$1" ziel=$2
local o:04 oz:04 n:04 d:04 c2:04 b=0 z=0 c=.
let "n=${#utf}-1"
for o from 0 to $n repeat
do
catv o,1,utf =c:
base -b c +10 d
case "$z" in
0) let "d=#c2" && z=2 continue
let "d=#c3" && z=3 continue
let "d>#c4&&d<#cf" && z=4 continue
let "d=#e2" && z=6 b=2 continue
let "(d&16#f0)=#e0" && z=5 b=2 continue
let "(d&16#f0)=#f0" && z=5 b=3 continue
;;
2) : ;;
3) let "d=d+16#c0-16#80"
base -10 d +b c ;;
4) c='·' ;;
5) let "--b>0" && continue
c='·' ;;
6) [ b -eq 2 ] && c2=$d
[ b -eq 1 ] && { c='·'
let "c2=#80&&d=#93" && c=-
let "c2=#82&&d=#ac" && c=€
}
let "--b>0" && continue
;;
esac
catv 1,c =oz,1,buf:
z=0 let "++oz"
done
$ziel="$buf"
return 0
}


Convert() {
ifset $1 || return 1
expr "${{1}}" =:: '=?utf-8?[A-Za-z]?.' || return 2
local fmt=. inh="${{1}}"
[ ${#inh} -gt 1000 ] && return 3
local utf:.${#inh}
set Utf:.${#inh}
while expr "$inh" =:fmt '=?utf-8?%([A-Za-z]%)?[^?]%{1,}?='
do
expr "$inh" =:utf '=?utf-8?[A-Za-z]?%([^?]%{1,}%)?='
case "$fmt" in
[bB]) coder -dnv utf Utf
Utf8 "$Utf" Utf;;
[qQ]) conv -h= utf
Utf8 "$utf" Utf;;
*) continue;;
esac
expr "$inh" =:inh '=?utf-8?[A-Za-z]?[^?]%{1,}?=' = "$Utf"
done
$1="$inh"
return 0
}
==Re: =?UTF-8?B?w5xiZXJsZWJlbnNrYW1wZg==?= der Tankstel len
Re: Überlebenskampf der Tankstel len
PayPal-Kontoübersicht_für_Oktober_2016
Polyfon zwitschernd aßen Màxchens Vögel Rüben, Joghurt und Quark
spiegel.de: Private Krankenversicherung - Erhebliche Unterschiede in den
Leistungen
470€ pro Stunde online verdienen ist möglich - Testen Sie es

==

Mit freundlichen Grüßen
Helmut Schellong
www.schellong.de www.schellong.com www.schellong.biz
http://www.schellong.de/c.htm

Ähnliche fragen