ok, hab es jetzt auch mal über
GetCPInfo versucht ...
Code:
. von GetCPInfo:
Encoding CodePage MaxCharSize LeadBytes
UTF-7 65000 5 -
UTF-8 65001 4 -
UTF-16 0 unbekannt -
ISO-10646-UCS-2 1200 unbekannt -
ISO-8859-1 28591 1 -
ISO-8859-2 28592 1 -
ISO-8859-3 28593 unbekannt -
ISO-8859-4 28594 1 -
ISO-8859-5 28595 1 -
ISO-8859-6 28596 1 -
ISO-8859-7 28597 1 -
ISO-8859-8 28598 1 -
ISO-8859-9 28599 1 -
ISO-2022-JP 50220 5 -
EUC-JP 51932 unbekannt -
SHIFT-JIS 932 2 129..159, 224..252
WINDOWS-1250 1250 1 -
WINDOWS-1251 1251 1 -
WINDOWS-1252 1252 1 -
WINDOWS-1253 1253 1 -
WINDOWS-1254 1254 1 -
WINDOWS-1255 1255 1 -
WINDOWS-1256 1256 1 -
WINDOWS-1257 1257 1 -
WINDOWS-1258 1258 1 -
UTF-7 und UTF-8: gut, das MaxCharSize stümmt soweit, aber sonst wird von
CharNextExA immer nur 1 geliefert
UTF-16: na OK, das ignorier ich eh
ISO-10646-UCS-2: hier sollte eigentlich immer 2 rauskommen, aber gut ... erstens behandle ich es eh schon selber und da Windows dazu keine Codepage-Infos bereitstellt ... kein Wunder, daß es dazu nix gibt
ISO-8859-3: hmmm ... aber egal, da ISO-8859-1 bis ISO-8859-9 eh nur Single-Byte-Codepages sein sollten
ISO-2022-JP: gut, die maximale Länge von 5 Byte pro Char wird schonmal angegeben, aber sonst nix und auch CharNextExA meint immer nur 1
EUC-JP: kennt mein Windows nicht
SHIFT-JIS: hier ist mal alles OK und so wie ich's brauch
WINDOWS-1250 bis WINDOWS-1258: hier stimmt es auch ... alles nur Single-Byte-Codepages ^^
Fazit:
eigentlich kann ich alles so lassen, aber ISO-2022-JP (CP: 50220) und EUC-JP (CP: 51932) macht zicken und außer alles selber zu implementieren fällt mir erstmal nix mehr ein