Beschreibung | Einen Speicherblock von einem Zeichensatz über Unicode in
einen anderen Zeichensatz wandeln |
Aufruf C | char *src, *dest;
long src_len, dest_len; short src_nr, dest_nr; (kt->BlockXUtf2U2XUtf)(dest, &dest_len, dest_nr, src, src_len, src_nr); |
Aufruf Pascal | src, dest: PChar; src_len, dest_len : LongInt;
src_nr, dest_nr : Integer; kt^.BlockXUtf2U2XUtf(nil, nil, 0, 0, 0, dest, dest_len, dest_nr, src, src_len, src_nr); |
Aufruf GFA | kt_func% = {kt_struc%+128}
~C:kt_func%(L:dest%, dest_len%, dest_nr&, L:src%, L:src_len&, src_nr&) |
Die Funktion BlockXUtf2U2XUtf wandelt einen Speicherblock (Adresse 'src', Länge 'src_len') von einem Zeichensatz oder Unicode-Codierung in einen anderen Zeichensatz bzw. Unicode-Codierung um. Hierbei wird stets über Unicode gewandelt. Die Zeichensatznummern können für 'src_len' von GetImpMinNr()..GetImpMaxNr() und für 'dest_nr' von GetExpMinNr()..GetExpMaxNr() reichen und umfassen damit sowohl die wirklichen Zeichensätze als auch die Unicode-Codierungen.
Hinweis: Falls in 'dest_len' nicht NULL bzw. NIL übergeben wird, wird dort die Anzahl der benötigten Zeichen eingetragen, die der Ziel-String 'dest' beinhaltet.
Hinweis: Wenn als Ziel-String 'dest' NULL bzw. NIL übergeben wird, wird nur ermittelt, wie viele Zeichen der Ziel-String enthalten würde.
Tip: Mit einem Aufruf von 'dest' gleich NULL bzw. NIL kann ermittelt werden, wieviel Speicher benötigt wird. Nach dem Allozieren des Speichers wird dann die Funktion zur Konversion aufgerufen.
Die Funktion BlockXUtf2U2XUtf ist vorhanden, wenn size>=132 ist.