Obsah / Utility / CHARSET / CharUTF32LER
Zdrojový kód: INCLUDE\UTIL\CHARSET.INC, UTIL\CHARSET.ASM
CharUTF32LER - Načtení znaku z bufferu ve formátu UTF-32LE
Funkce CharUTF32LER načte znak z bufferu ve formátu UTF-32LE, little endian (tj. formát PC Intel, v paměti je uložen nejdříve nižší bajt dat a poté vyší bajt).
|
Na vstupu funkce obsahuje registr ESI ukazatel na data ve vstupním bufferu, registr ECX počet bajtů ve vstupním bufferu a registr EDX Unicode kód znaku, který se použije v případě neplatných dat v bufferu. Na výstupu z funkce je v registru EAX navrácen Unicode kód načteného znaku (nebo neplatný kód z registru EDX, pokud nejsou k dispozici další data), v registru ESI nový ukazatel na vstupní data a v registru ECX nová velikost vstupních dat.
|
Znaky jsou v kódu UTF-32LE uloženy přímo jako DWORD v kódu Unicode, proto jejich načtení je zajištěno prostým načtením z bufferu jako DWORD. V případě nedostatku dat v bufferu je opraven ukazatel čtených dat a funkcí je navrácen implicitní znak z registru EDX.
Obsah / Utility / CHARSET / CharUTF32LER