Bereits seit Release 7.2 können ins RPG UTF-8-Daten verarbeitet werden. Bei Texten in klassischem ASCII oder EBCDIC-Code entspricht ein Zeichen genau einem Byte. Im Gegensatz dazu kann bei UTF-8 die Länge eines Zeichens zwischen einem und vier Byte schwanken und das kann dazu führen, dass Informationen verloren gehen können oder auch, dass die Texte bzw. die zugrundeliegenden hexadezimalen Werte falsch interpretiert werden. Bevor wir uns damit beschäftigen, wie in RPG Probleme beim Einsatz von UTF-8 vermieden werden können, zunächst einmal eine Begriffsdefinition. Hier als PDF herunterladen.Herunterladen Schauen wir uns zunächst einmal die Daten an und wie sie gespeichert werden. Code Tabellen Daten werden im Binär-Code (also Nullen und Einsen) in Bits hinterlegt. Jedes einzelne Bit kann 2 Zustände einnehmen, also 0 oder 1. Acht Bits werden wiederum zu einem Byte zusammengefasst, wobei ursprünglich ein Byte einem Zeichen entsprochen hat. Damit können in einem Byte bis zu 256 (28) unterschiedliche Zeichen gespeichert werden. Nur welcher Hex-Code entspricht welchem Zeichen? Schauen wir uns einfach einmal x‘7D‘ an: Definitionen x’7D’ Wie aus der vorherigen Auflistung klar wird, benötigt es Regeln und Code-Tabellen, die es erlauben einen Hex-Wert „richtig“zu interpretieren. Wenn wir auf der IBM i (und auch auf anderen IBM-Maschinen) arbeiten, werden die...
Probleme in RPG vermeiden: RPG and Unicode – Teil 1: Definition: EBCDIC, CCSID, ASCII und Unicode
7 Min. Lesedauer

Vorheriger BeitragIBM Db2 Web Query für den Administrator – User – 5.Teil
Nächster Beitrag Einführung in API-Aufrufe aus RPG