Se eu converter o caractere 'ö' de um locale UTF-8 (onde é representado pelas duas octetts 0xC3 0xB6) para um wchar_t
, recebo um valor wchar_t
que é 0xF6
. Isso se aplica ao Linux e Solaris.
Se eu converter o caractere 'ö' de um locale ISO-8859-1 (onde é representado pelo octeto único 0xF6) para um wchar_t
, obtenho um valor wchar_t
de 0xF6 no Linux e um valor de 0x30000076 no Solaris.
Alguém sabe o motivo e é capaz de explicar o histórico?
BTW: como o código fonte do i18n do Solaris é compartilhado pela Sun / Oracle, IBM e HP, há uma grande chance de que isso se aplique também ao AIX e ao HP-UX.