DynamicEBCDICDecoder
Gruppe |
|
Funktion |
Dieser Preparser prüft die Zeichenkodierung einer Nachricht (ASCII oder EBCDIC) und gibt diese gegebenenfalls umkodiert aus. |
Konfigurationsdatei |
DynamicEBCDICDecoder.properties |
Beschreibung
Dieser Preparser prüft die Zeichenkodierung einer Nachricht (ASCII oder EBCDIC) und gibt diese gegebenenfalls umkodiert aus.
Der Ablauf der Prüfung ist dabei folgender.
Es werden so viele Zeichen aus der Datei eingelesen, wie im Parameter checkchars angegeben.
Dann wird überprüft, welche Zeichen davon in ASCII darstellbar sind und welche nicht.
Sind am Ende mehr Zeichen in ASCII darstellbar, wird von ASCII ausgegangen, ansonsten von EBCDIC. Wichtiger Hinweis: Ein EBCDIC-kodiertes Leerzeichen wird in ASCII als @ dargestellt, und deshalb vom hier beschriebenen Algorithmus als in ASCII darstellbar erkannt. Wenn man also eine komplette Datei einliest, gewinnt ASCII fälschlicherweise immer dann, wenn genügend Leerzeichen in der EBCDIC-Datei vorhanden sind. Verhindern kann man das mit vorteilhaften Werten für Parameter checkchars und skipchars, d. h. man versucht die Werte so zu setzen, dass der geprüfte Text möglichst wenig Leerzeichen hat.
Parameterbeschreibung
Parameter |
Beschreibung |
checkchars |
(optional) Anzahl der Zeichen, die überprüft werden sollen. Default: 100 |
skipchars |
(optional) Anzahl der Zeichen, die vom Anfang der Datei aus übersprungen werden bei der Formatprüfung. Default: 0 |
asciicharset |
(optional) Zeichenkodierung um ASCII-Eingangsdaten zu erkennen. Default: 8859_1 |
ebcdiccharset |
(optional) Zeichenkodierung um EBCDIC-Eingangsdaten zu erkennen. Default: cp273 |
outcharset |
(optional) Zeichenkodierung für Ausgangsdaten des Preparsers. Default: 8859_1 |
Beispiel
checkchars=7
skipchars=0
asciicharset=8859_1
ebcdiccharset=cp273
outcharset=8859_1