uconvdef-Quellendateiformat

Zweck

Definiert UCS-2 -Konvertierungszuordnungen (Unicode) für die Eingabe für den Befehl uconvdef .

Beschreibung

Konvertierungszuordnungswerte werden mit symbolischen UCS-2 -Zeichennamen definiert, gefolgt von Zeichencodierungswerten (Codepunkten) für den codierten Mehrbytezeichensatz. Beispiel:

<U0020>    \x20

steht für die Zuordnung zwischen dem<U0020>Symbolischer UCS-2 -Zeichenname für das Leerzeichen und die\x20Hexadezimaler Codepunkt für das Leerzeichen in ASCII.

Zusätzlich zu den Zuordnungen des codierten Zeichensatzes werden Anweisungen vom Befehl uconvdef interpretiert, um die kompilierte Tabelle zu erstellen. Diese Anweisungen müssen vor dem Abschnitt für die Zuordnung des codierten Zeichensatzes stehen. Sie bestehen aus den folgenden Schlüsselwörtern, die in spitze Klammern (< >) eingeschlossen sind, beginnend in Spalte 1, gefolgt von Leerzeichen und dem Wert, der dem Zeichen zugeordnet werden soll:

Element Beschreibung
< Codegruppenname> Der Name des codierten Zeichensatzes, eingeschlossen in Anführungszeichen (""), für die die Zeichensatzbeschreibungsdatei definiert ist.
< mb_cur_max> Die maximale Anzahl Byte in einem Mehrbytezeichen. Der Standardwert ist 1.
< mb_cur_min> Ein positiver ganzzahliger Wert ohne Vorzeichen, der die Mindestanzahl Byte in einem Zeichen für den codierten Zeichensatz definiert. Der Wert ist kleiner-gleich < mb_cur_max>. Wenn keine Angabe erfolgt, entspricht die Mindestanzahl < mb_cur_max>.
< Escapezeichen> Das Escapezeichen, mit dem angegeben wird, dass das folgende Zeichen auf besondere Weise interpretiert wird. Standardmäßig wird ein Backslash (\) verwendet.
< Kommentarzeichen> Das Zeichen, das verwendet wird, wenn es in Spalte 1 einer Charmap -Zeile steht, um anzugeben, dass die Zeile ignoriert wird. Das Standardzeichen ist das Nummernzeichen (#).
< Zeichennamensmaske> Eine Zeichenfolge in Anführungszeichen, die aus Formatkennungen für die symbolischen UCS-2 -Namen besteht. Dies muss ein Wert von AXXXX sein, der ein alphabetisches Zeichen gefolgt von 4 Hexadezimalziffern angibt. Außerdem muss das alphabetische Zeichen ein U sein und die Hexadezimalziffern müssen den UCS-2 -Codepunkt für das Zeichen darstellen. Ein Beispiel für einen symbolischen Zeichennamen, der auf dieser Maske basiert, ist<U0020>Unicode-Leerzeichen.
< uconv_klasse> Gibt die Typ des codierten Zeichensatzes an. Folgende Werte sind möglich:
SBCS
Einzelbytecodierung
DBCS
Statusunabhängige Doppelbyte-, Einzelbyte-oder gemischte Codierungen
EBCDIC_ZUSTANDSORIENTIERT
Statusabhängige Doppelbyte-, Einzelbyte-oder gemischte Codierungen
MBCS
Stateless-Multibyte-Codierung

Diese Typ wird verwendet, um uconvdef anzuweisen, welchen Tabellentyp erstellt werden soll. Sie wird auch in der Tabelle gespeichert, um den Typ des Verarbeitungsalgorithmus in den UCS-Konvertierungsmethoden anzugeben.

< Ländereinstellung> Gibt den Namen der Standardländereinstellung an, der verwendet werden soll, wenn Informationen zur Ländereinstellung benötigt werden.
< Unterzeichen> Gibt die Codierung des Standardersatzzeichens im codierten Mehrbytezeichensatz an.

Der Zuordnungsdefinitionsabschnitt besteht aus einer Folge von Zuordnungsdefinitionszeilen, denen eine ZEICHENZUORDNUNG -Deklaration vorausgeht und die durch eine ENDDIAGRAMMZUORDNUNG -Deklaration beendet werden. Leere Zeilen und Zeilen mit < Kommentarzeichen> in der ersten Spalte werden ignoriert.

Symbolische Zeichennamen in Zuordnungszeilen müssen dem Muster entsprechen, das in < Zeichennamensmaske>angegeben ist, mit Ausnahme des reservierten symbolischen Namens < nicht zugeordnet >, der angibt, dass die zugeordneten Codepunkte nicht zugeordnet sind.

Jede Zeile ohne Kommentarzeichen der Zeichensatzzuordnungsdefinition muss eines der folgenden Formate haben:

  1. "%s %s %s/n", <symbolic-name>, <encoding>, <comments>

    Beispiel:

    <U3004>      \x81\x57
    Dieses Format definiert einen einzelnen symbolischen Zeichennamen und eine entsprechende Codierung.

    Der Codierungsabschnitt wird als eine oder mehrere verkettete Dezimal-, Hexadezimal-oder Oktalkonstanten in den folgenden Formaten ausgedrückt:

    • "%cd%d", <escape_char>, <decimal byte value>
    • "%cx%x", <escape_char> , <hexadecimal byte value>
    • "%c%o", <escape_char>, <octal byte value>
    Dezimalkonstanten werden durch zwei oder mehr Dezimalziffern mit vorangestelltem Escapezeichen und dem Kleinbuchstaben ddargestellt, wie in\d97oder\d143. Hexadezimalkonstanten werden durch zwei oder mehr Hexadezimalziffern mit vorangestelltem Escapezeichen und dem Kleinbuchstaben Xdargestellt, wie in\x61oder\x8f. Oktalkonstanten werden durch zwei oder mehr Oktalziffern dargestellt, denen ein Escapezeichen vorangestellt ist.

    Jede Konstante stellt einen Einzelbytewert dar. Wenn Konstanten für Mehrbytezeichenwerte verknüpft werden, gibt der letzte Wert das niedrigstwertige Oktett an und die vorhergehenden Konstanten geben nacheinander signifikantere Oktette an.

  2. "%s. . .%s %s %s/n", <symbolic-name>, <symbolic-name>, <encoding>, <comments>

    Beispiel:

    <U3003>...<U3006>   \x81\x56
    Dieses Format definiert einen Bereich von symbolischen Zeichennamen und entsprechenden Codierungen. Der Bereich wird als eine Reihe symbolischer Namen interpretiert, die aus dem alphabetischen Präfix und allen Werten in dem durch die numerischen Suffixe definierten Bereich gebildet werden.

    Der aufgeführte Codierungswert wird dem ersten symbolischen Namen zugeordnet und nachfolgenden symbolischen Namen im Bereich werden entsprechende inkrementelle Werte zugeordnet. Beispiel: Die Zeile:

    <U3003>...<U3006>   \x81\x56
    wird interpretiert als:
    <U3003>      \x81\x56
    <U3004>      \x81\x57
    <U3005>      \x81\x58
    <U3006>      \x81\x59
  3. "<unassigned> %s. . .%s %s/n", <encoding>, <encoding>, <comments>

    Dieses Format definiert einen Bereich von mindestens einer nicht zugewiesenen Codierung. Beispiel: Die Zeile:

    <unassigned>   \x9b...\x9c
    wird interpretiert als:
    <unassigned>   \x9b
    <unassigned>   \x9c