В WinAPI есть семейство ANSI функций, которые используют текущую локаль
для получения юникодных строк и наоборот.
Вопрос, а почему не сделана возможность указать в качестве текущей
кодовой страницы CP_UTF8 ?
Здравствуйте, avp_, Вы писали:
_>В WinAPI есть семейство ANSI функций, которые используют текущую локаль _>для получения юникодных строк и наоборот. _>Вопрос, а почему не сделана возможность указать в качестве текущей _>кодовой страницы CP_UTF8 ?
Здравствуйте, avp_, Вы писали:
_>В WinAPI есть семейство ANSI функций, которые используют текущую локаль _>для получения юникодных строк и наоборот. _>Вопрос, а почему не сделана возможность указать в качестве текущей _>кодовой страницы CP_UTF8 ?
Наверное, оттого что UTF-8 — это multi-byte char строка, никакого отношения к текущей локали не имеющая. Кодовые страницы, если память не изменяет, имеют смысл лишь для однобайтных кодировок (старшая половина ASCII-8 таблицы).
Здравствуйте, Mr.Delphist, Вы писали:
MD>Наверное, оттого что UTF-8 — это multi-byte char строка, никакого отношения к текущей локали не имеющая. Кодовые страницы, если память не изменяет, имеют смысл лишь для однобайтных кодировок (старшая половина ASCII-8 таблицы).
Не совсем так — существуют локализации, где ANSI и OEM мультибайтные. Например, Китай, Япония. Однако есть серьёзное ограничение: не более двух байт на символ. UTF-8 в него не укладывается.
Здравствуйте, Centaur, Вы писали:
C> Не совсем так — существуют локализации, где ANSI и OEM мультибайтные. Например, Китай, Япония. Однако есть серьёзное ограничение: не более двух байт на символ. UTF-8 в него не укладывается.
У CP 50220 (iso-2022-jp Japanese (JIS) ) символ до 5 байт.