Bei dem Zeichensatz "UTF-16" handelt es sich nicht um einen Zeichensatz, wie z.B. "Windows Codepage 1252", sondern vielmehr um eine Codierung von Unicode-Zeichen.
Der von KEYTAB implementierte Algorithmus zur Umwandlung von Unicode in UTF-16 lautet im C-Source:
if( lunicode < 0x10000l ) { if( string!=NULL ) { string[0] = (lunicode >> 8) & 0xFF; string[1] = lunicode & 0xFF; } used = 2; } else { if( string!=NULL ) { lunicode = uniMakeSurrogate(lunicode); string[0] = (lunicode >> 24) & 0xFF; string[1] = (lunicode >> 16) & 0xFF; string[2] = (lunicode >> 8) & 0xFF; string[3] = lunicode & 0xFF; } used = 4; }