Здравствуйте, paxerus, Вы писали:
P>P>__int16 a=(__int16)wStr.at(i) ;
P>BYTE ff=((char*)(&a))[0];
P>BYTE ff1=((char*)(&a))[1];
P>
почему еще никто не напомнил коллеге про strict aliasing ??
Здравствуйте, zaufi, Вы писали:
Z>Здравствуйте, paxerus, Вы писали:
P>>P>>__int16 a=(__int16)wStr.at(i) ;
P>>BYTE ff=((char*)(&a))[0];
P>>BYTE ff1=((char*)(&a))[1];
P>>
Z>почему еще никто не напомнил коллеге про strict aliasing ??
а поподробнее?
paxerus wrote:
> MC>Ты уверен, что у тебя именно utf8? Просто utf8 в wstring не кладут.
>
> да utf8
> вот пример
> Группа 1
> тоже самое utf8
> Группа 1
Это неверно, нужно исправить, тогда твоей проблемы не возникнет. В wstring не следует класть UTF-8. Судя по названию "UTF-8" — кодирование происходит октетами (байтами). В wstring элементом является wchar_t, который обычно пара байт (или иногда 4 байта), обычно она предназначена для кодировки UTF-16 (UTF-32).
UTF-8 кладут либо просто в string, либо для красоты делают basic_string<unsigned char>.
Posted via RSDN NNTP Server 2.1 beta