DynamicEBCDICDecoder

Gruppe

Preparser

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


DynamicEBCDICDecoder.properties
checkchars=7
skipchars=0
asciicharset=8859_1
ebcdiccharset=cp273
outcharset=8859_1