アカウント名:
パスワード:
ircクライアントであるところのchocoaが非互換ですねもう20年も使ってるのか
ircはチャンネルごとにエンコードの合意があって、chocoaはそれをシフトJISに変換してからwin32 apiに渡してるんだっけかということはwin32がシフトJISを食わなくなるのかな
Win32 APIは、APIの中で文字コードの判別なんかをしてるわけじゃないからな。文字列が関わる全てのAPIは Unicode(UTF-16) API と、ロケール依存API の二つが用意されてて、一般的にはコンパイル時にどちらを使うのか決める。# 実際には ほとんどのAPIが ロケール依存API を呼ぶと UTF-16 に変換されてから Unicode API を呼ぶラッパになってきてるけど)
日本語ロケールは、Shift_JIS なのでロケール依存APIは、システム設定上のShift_JISだと決め討ちで処理する。システム設定を UTF-8 に変えたのに、Shift_JIS 渡しちゃったら入力を正しく処理できんだろうね。
このへんの仕組みは、Win16 の時代から何もやり方変わってない。
> このへんの仕組みは、Win16 の時代から何もやり方変わってない。
いやいや。Win16はUnicodeの策定より前からありますがな。Win32s / Win32cだって、Unicodeに対応していたのはごく一部のAPIだけだし。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
さっそく非互換 (スコア:0)
ircクライアントであるところのchocoaが非互換ですね
もう20年も使ってるのか
Re: (スコア:0)
ircはチャンネルごとにエンコードの合意があって、chocoaはそれをシフトJISに変換してからwin32 apiに渡してるんだっけか
ということはwin32がシフトJISを食わなくなるのかな
Re: (スコア:1)
Win32 APIは、APIの中で文字コードの判別なんかをしてるわけじゃないからな。
文字列が関わる全てのAPIは Unicode(UTF-16) API と、ロケール依存API の二つが用意されてて、一般的にはコンパイル時にどちらを使うのか決める。
# 実際には ほとんどのAPIが ロケール依存API を呼ぶと UTF-16 に変換されてから Unicode API を呼ぶラッパになってきてるけど)
日本語ロケールは、Shift_JIS なのでロケール依存APIは、システム設定上のShift_JISだと決め討ちで処理する。
システム設定を UTF-8 に変えたのに、Shift_JIS 渡しちゃったら入力を正しく処理できんだろうね。
このへんの仕組みは、Win16 の時代から何もやり方変わってない。
Re:さっそく非互換 (スコア:0)
> このへんの仕組みは、Win16 の時代から何もやり方変わってない。
いやいや。
Win16はUnicodeの策定より前からありますがな。
Win32s / Win32cだって、Unicodeに対応していたのはごく一部のAPIだけだし。