ものがたり(旧)

atsushieno.hatenablog.com に続く

CharSet.Ansi

id:akirameiさんとこで出ていたCharSet.Ansiの話。問題点はそこに書いてあって、utf-8になっている理由はこのスレッドに書いてあるのだけど、glib/gtkでは全てのネイティブ文字列がプラットフォームに依存しない形でutf-8になっているため。だから、CharSet.UTF8みたいなメンバーがあって、utf-8でネイティブにマーシャリングできるようになっているべきなのだけど、MiguelがECMAMicrosoftからの回答をもらったところでは、MSはこの余った2ビットに"MarshalPlatformSpecific1"と"MarshalPlatformSpecific2"なるものを設定していて、どうやら空いていないらしい(これらが何なのかは不明)。ということで、これはMicrosoftがどうにかしない限り直らない問題らしい。