[Allegro] Umcodierung von utf8-Daten
Heinrich Allers
allers at t-online.de
Mi Jan 9 11:37:02 CET 2013
Hallo Herr Schleifenbaum:
> da derzeit der Umcodierung von utf8-Daten mittels ucodes.xpt aufgrund
> des Speicherlimits von 8000 Byte Grenzen gesetzt sind,
> bin ich auf der Suche nach einer alternativen Umcodierung.
> ...
> Oder kennt jemand eine andere Methode?
Ja. Lassen Sie mich sie skizzieren:
Ich benutze eine Kombination des FLEX-Befehls 'xcode U' (Konvertierung von UTF-8-Kodes in
Entitätenzahlen) und der VS-Methodik (Verlautbarung 164).
Ich erkläre es mal an einem zwar konstruierten, aber praktisch eben ausprobierten Beispiel:
Stehe in #20 die UTF-8-kodierte Zeichenfolge 'aaa äöü bbb' (aber wie gesagt, in der Datenbank steht
nicht 'äöü', sondern die 2-bytigen UTF-8-Kodierungen dieser Zeichen) und ich möchte diese Zeichenfolge
in ANSI-Kodierung umwandeln: dann mache ich das mit der FLEX-Datei
expo f rs.txt
var #20\mes\wri\wri n
xcode U&# ;
ins #20a\mes\wri\wri n
disp p rs\depos "a"\ins #20b
var #20b\mes\wri
close x
und dieser dort angesprochenen Export-Parameterdatei rs.apr:
zl=0
zb=" "
dx=1
ze=13 10
zm=0
ae=13 10
fl=0
ks=0
ke=C &0
ff=0
i4=1
i5=_
i6=10
ib=59
p & 9
#-a
#20a
#+#
Ferner lasse ich Hilfsdatensätze dafür sorgen, daß in Reg. 10 diese Einträge auftauchen:
ää
öö
üü
Und fertig!
Test: Ausführung der FLEX-Datei rs.flx ergibt nacheinander folgende Meldungen auf dem Bildschirm:
aaa äöü bbb
aaa àöü bbb
20aaaa äöü bbb
In der Protokolldatei rs.txt steht der gleiche Inhalt, aber mit dem Vorteil der geringeren Flüchtigkeit und
deswegen besserer Studierbarkeit.
###
Das ist das Prinzip "meiner" Methodik. Wirkt etwas umständlich - aber der Umstand zahlt sich aus, wenn
man es mit Tausenden von Zeichen zu tun hat, die man zu versorgen hat (z.B. bei CJK-Aufgaben).
Mit besten Grüßen von
Heinrich Allers
allers at t-online.de * http://www.h-allers.de
Netztagebuch: http://heinrich-erlo-ger.blogspot.com/
Bitácora: http://heinrich-erlo-spa.blogspot.com/
Mehr Informationen über die Mailingliste Allegro