Beschreibung | Einen Speicherblock dekodieren und in Unicode wandeln |
Aufruf C | int *unicode;
long uni_len, len; short nr, read_chars; (kt->BlockXUtf2Unicode)(unicode, &uni_len, nr, string, len); |
Aufruf Pascal | unicode : Array of Integer;
len : LongInt; nr, read_chars : Integer; kt^.BlockXUtf2Unicode(nil, nil, 0, 0, 0, unicode, uni_len, nr, string, len); |
Aufruf GFA | kt_func% = {kt_struc%+120}
~C:kt_func%(L:unicode%, uni_len%, nr&, L:string%, L:len&) |
Die Funktion BlockXUtf2Unicode decodiert einen kompletten Speicherblock (Adresse 'string', Länge 'len') und liefert ihn in Unicode zurück. Die Funktion greift für 'nr' im Bereich von 0..GetImpMaxNr() auf die Funktion BlockX2Unicode zurück. Für 'nr' im Bereich GetImpMinNr()..-1 wird jeweils ein Unicode-Zeichen aus ggf. mehreren Zeichen des Strings decodiert und zurückgegeben.
Hinweis: Falls in 'uni_len' nicht NULL bzw. NIL übergeben wird, wird dort die Anzahl der Unicode-Zeichen eingetragen, die aus dem String 'string' decodiert werden konnten.
Hinweis: Wenn für das Unicode-Array 'unicode' NULL bzw. NIL übergeben wird, wird nur ermittelt, wie viele Unicode-Zeichen decodiert werden können.
Hinweis: Die Funktion BlockXUtf2Unicode verarbeitet anders als die Funktion CharUnicode2XUtf nur Zeichen aus dem 16-Bit-Unicode.
Die Funktion BlockXUtf2Unicode ist vorhanden, wenn size>=124 ist.