UTF8 в WinAPI
От: avp_  
Дата: 22.12.10 18:48
Оценка:
В WinAPI есть семейство ANSI функций, которые используют текущую локаль
для получения юникодных строк и наоборот.
Вопрос, а почему не сделана возможность указать в качестве текущей
кодовой страницы CP_UTF8 ?
Posted via RSDN NNTP Server 2.1 beta
Re: UTF8 в WinAPI
От: x64 Россия http://x64blog.name
Дата: 22.12.10 19:11
Оценка:
_>Вопрос, а почему не сделана возможность указать в качестве текущей
_>кодовой страницы CP_UTF8 ?

SetThreadLocale() ?
JID: x64j@jabber.ru
Re: UTF8 в WinAPI
От: nullptr_t  
Дата: 23.12.10 08:02
Оценка:
Здравствуйте, avp_, Вы писали:

_>В WinAPI есть семейство ANSI функций, которые используют текущую локаль

_>для получения юникодных строк и наоборот.
_>Вопрос, а почему не сделана возможность указать в качестве текущей
_>кодовой страницы CP_UTF8 ?

потому что либо ascii либо utf-16le
Re: UTF8 в WinAPI
От: nullptr_t  
Дата: 23.12.10 08:22
Оценка:
Здравствуйте, avp_, Вы писали:

извиняюсь, не правильно вас понял. SetThreadLocale() то?
Re[2]: UTF8 в WinAPI
От: avp_  
Дата: 23.12.10 11:41
Оценка:
x64 wrote:
> _>Вопрос, а почему не сделана возможность указать в качестве текущей
> _>кодовой страницы CP_UTF8 ?
>
> SetThreadLocale() ?

Не нашёл как там явно указать кодовую страницу. Только ID языка передаётся.
Posted via RSDN NNTP Server 2.1 beta
Re: UTF8 в WinAPI
От: Jolly Roger  
Дата: 23.12.10 12:03
Оценка:
Здравствуйте, avp_, Вы писали:

_>В WinAPI есть семейство ANSI функций, которые используют текущую локаль

_>для получения юникодных строк и наоборот.

Например?
"Нормальные герои всегда идут в обход!"
Re[3]: UTF8 в WinAPI
От: x64 Россия http://x64blog.name
Дата: 23.12.10 12:19
Оценка:
_>Не нашёл как там явно указать кодовую страницу.

Угу, судя по этому ответу, твоя задача решения не имеет.
JID: x64j@jabber.ru
Re: UTF8 в WinAPI
От: Mr.Delphist  
Дата: 30.12.10 12:32
Оценка:
Здравствуйте, avp_, Вы писали:

_>В WinAPI есть семейство ANSI функций, которые используют текущую локаль

_>для получения юникодных строк и наоборот.
_>Вопрос, а почему не сделана возможность указать в качестве текущей
_>кодовой страницы CP_UTF8 ?

Наверное, оттого что UTF-8 — это multi-byte char строка, никакого отношения к текущей локали не имеющая. Кодовые страницы, если память не изменяет, имеют смысл лишь для однобайтных кодировок (старшая половина ASCII-8 таблицы).
Re[2]: UTF8 в WinAPI
От: Centaur Россия  
Дата: 30.12.10 18:21
Оценка:
Здравствуйте, Mr.Delphist, Вы писали:

MD>Наверное, оттого что UTF-8 — это multi-byte char строка, никакого отношения к текущей локали не имеющая. Кодовые страницы, если память не изменяет, имеют смысл лишь для однобайтных кодировок (старшая половина ASCII-8 таблицы).


Не совсем так — существуют локализации, где ANSI и OEM мультибайтные. Например, Китай, Япония. Однако есть серьёзное ограничение: не более двух байт на символ. UTF-8 в него не укладывается.
Re[3]: UTF8 в WinAPI
От: hattab  
Дата: 30.12.10 19:20
Оценка:
Здравствуйте, Centaur, Вы писали:

C> Не совсем так — существуют локализации, где ANSI и OEM мультибайтные. Например, Китай, Япония. Однако есть серьёзное ограничение: не более двух байт на символ. UTF-8 в него не укладывается.


У CP 50220 (iso-2022-jp Japanese (JIS) ) символ до 5 байт.
avalon 1.0rc3 rev 380, zlib 1.2.3
Re[4]: UTF8 в WinAPI
От: avp_  
Дата: 31.12.10 09:16
Оценка:
Т.е. получается что надо сделать свою кастомную локаль?
Posted via RSDN NNTP Server 2.1 beta
Re[5]: UTF8 в WinAPI
От: hattab  
Дата: 31.12.10 11:43
Оценка:
Здравствуйте, avp_, Вы писали:

a> Т.е. получается что надо сделать свою кастомную локаль?


Не занимался этим вопросом. Но для консоли можно установить UTF-8.
avalon 1.0rc3 rev 380, zlib 1.2.3
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.