mbtowc() によって取得された wchar_t の値が UNICODE 値ではない理由はありますか?

mbtowc() によって取得された wchar_t の値が UNICODE 値ではない理由はありますか?

文字 'ö' を UTF-8 ロケール (2 つのオクテット 0xC3 0xB6 で表される) に変換すると、という値wchar_tが得られます。これは Linux と Solaris に適用されます。wchar_t0xF6

文字 'ö' を ISO-8859-1 ロケール (単一オクテット 0xF6 で表される) から に変換すると、 Linux では値 0xF6、Solaris では値 0x30000076 にwchar_tなります。wchar_t

理由を知っていて、背景を説明できる人はいますか?

ところで、Solaris の i18n ソースコードは Sun/Oracle、IBM、HP で共有されているため、AIX および HP-UX にも適用される可能性が高くなります。

関連情報