Unicode Objekte in CFS
Ab der BS2000-Version 7.0 werden Unicode-Objekte unterstützt.
Unter Unicode-Objekten verstehen wir Dateien/PLAM-Bibliothekselemente, deren Datensätze in einem der folgenden CCS (Coded Character Sets) codiert sind: UTF16 (= UNICODE), UTF8, UTFE. Die Codes der alphanumerischen Zeichen (A - Z, a -z, 0 - 9) sind in UTF16 und UTF8 grundsätzlich verschieden vom EBCDIC-Code. Unter UTFE besitzen zumindest die alphanumerischen Zeichen die gleichen Codes wie in EBCDIC.
Im Display-/Modify-Modus von CFS werden die Inhalte von Unicode-Objekten in lesbarer Form dargestellt. Voraussetzung hierfür ist BS2000 >= 7.0 (XHCS Version >= 2.0), sowie der zur Codierung passende CCS-Eintrag im Systemkatalog bzw. im Inhaltsverzeichnis der PLAM-Bibliothek. Siehe hierzu auch die CFS User Option CCS.
DA UNI,EDF0xxx
Erkennt CFS eine Unicode-Datei am zugehörigen CCS-Eintrag, so wird intern das Kommando DA UNI,EDF04F ausgeführt. Der Benutzer kann jedoch selbst ein anderes Kommando DA UNI,EDF04xx eingeben, falls z.B. das Euro-Zeichen nicht an der erwarteten hexadezimalen EBCDIC-Position steht.
Das Kommando DA UNI,EDF04xx bewirkt folgendes:
a) Läuft CFS unter einer 8-bit Emulation, so werden alle Unicode-Zeichen, die im 8-bit Character Set EDF04xx darstellbar sind, zur Bildschirmanzeige in diesen Code umgesetzt.
b) Läuft CFS unter einer 7-bit Emulation, so werden alle Unicode-Zeichen, die im 7-bit Character Set EDF03IRV darstellbar sind, zur Bildschirmanzeige in diesen Code umgesetzt.
Alle Unicode-Zeichen, die im gewählten Code nicht definiert sind, werden als Schmierzeichen (X'08') dargestellt.
Im Hexadezimal-Modus von CFS (Display-Kommando H) werden die Daten der Unicode-Datei in der EDFxxx-Codierung angezeigt. Damit können auch im Hexa-Modus keine Unicode-Zeichen eingegeben werden, die außerhalb der EBCDIC Codevarianten liegen.
Um ein Unicode-Objekt im native-Modus, d.h. in der originalen, nicht umgesetzten Codierung anzuschauen, ist das CFS-Kommando NDA einzugeben. Bei UTF16-Dateien wird in diesem Fall jedes Zeichen als 2-Byte Folge dargestellt. Die gewohnten alphanumerischen Zeichen sind dann für den Benutzer nicht mehr erkennbar. Im Hexadezimalmodus können jedoch, falls bekannt, die Codierungen von fremdsprachlichen Zeichen (z.B. Kyrillisch) modifiziert werden.
DA CODE,UTFxxTOEBC
Mit diesem Kommando können die alphanumerischen Zeichen von Unicode codierten Dateien auch ohne korrekten CCS-Eintrag im Katalog, bzw. in älteren BS2000-Versionen < 7.0 in einer lesbaren Form am Bildschirm angezeigt werden. Eine Änderung der Dateninhalte ist hierbei jedoch nicht möglich.
Falls eine Datei keinen, bzw. einen falschen CCS-Eintrag im Katalog besitzt, kann man mit
DA CODE,UTF16TOEBCD
DA CODE UTF8TOEBCD
den tatsächlich für die Codierung der Daten verwendeten CCS testen und der Datei evtl. mit /MOD-FILE-ATTR datei,C-C-S=code zugewiesen.
Es ist zu beachten, daß bei der UTF16 Codierung alphanumerische Zeichen als 2-Byte mit führendem Leerzeichen dargestellt werden.