%2C%20%D0%BD%D0%B5%20%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F%20%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC%20UNICODE%3F.png)
Если я преобразую символ 'ö' из локали UTF-8 (где он представлен двумя октетами 0xC3 0xB6) в wchar_t
, я получаю wchar_t
значение 0xF6
. Это применимо к Linux и Solaris.
Если я преобразую символ «ö» из локали ISO-8859-1 (где он представлен одним октетом 0xF6) в wchar_t
, я получу wchar_t
значение 0xF6 в Linux и значение 0x30000076 в Solaris.
Кто-нибудь знает причину и может объяснить подоплеку?
Кстати: поскольку исходный код i18n из Solaris используется совместно Sun/Oracle, IBM и HP, есть большая вероятность, что это применимо также к AIX и HP-UX.