[過去ログ] 文字コード総合スレ part14 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
923
(2): デフォルトの名無しさん [] 2024/07/20(土)05:41 ID:pEI9f13X(1/2)
ここで質問しても知ってる人はいなさそうな気もするけどダメモトで (長文失礼)。

Win10 以降のコンソールでは (conhost でも WindowsTerminal でも) "chcp 20932" で表示を EUC-JP にすることが出来ます。

この 20932 というコードページ、補助漢字 (JIS X0212) に一応は対応してるものの、切り替えに SS3 を使わない、という MS らしいなんちゃって仕様で、
これを知ったとき そのド変態ぶりに愕然としたものです。

それはまぁいいとして、今回の質問は 20932 ではなく、MS のもう一つの EUC-JP (であるらしい) 51932 についてです。

いくつかのサイトで MS の EUC-JP は 51932 である、という記述が見られるのですが、Win10 や Win11 で "chcp 51932" としてもエラーになります。
10 年以上前と思われる記事にも書かれていて、どうやら 51932 は補助漢字には対応してなかったらしいので、昔は 51932 が使われていたのだけど現在は廃止して、20932 に変更したのかと思ってました。

ところが最近、自宅のマシンに Win95 以降 (WinNT は 3.51 以降) の全ての Windows バージョンを仮想環境に載せたので (このために載せたわけじゃないけど)、
それらのコンソールで片っ端から "chcp 51932" を試して見たのですが、全てエラーになり CP-51932 が使える Win バージョンは一つもありませんでした。
年のため Win-API の MultiByteToWideChar() なども試しましたが結果は同じでした。

とすると、51932 という CP はどこで使われていたのでしょうか?
IE だけで使われていたのか、とも思われるのですが、この辺の経緯をご存知の方いらっしゃいませんか?
924
(1): デフォルトの名無しさん [sage] 2024/07/20(土)10:31 ID:mfyxJz7D(1)
>>923
過去に IE とか一部アプリで文字コードを EUC-JP に設定した時に使用されていた文字コードが CodePage 51932 だった
EUC-JP といっても正確には文字の種類が CP 932 と同じ(補助漢字がないかわりにNEC拡張漢字とIBM互換NEC拡張漢字がある。要はCP 932を機械的 SJIS → EUC-JP 変換しただけの)ものだった
944
(2): デフォルトの名無しさん [sage] 2024/07/21(日)02:45 ID:JWUUf2WC(1)
>>930
確かに CP51932 は MS の昔ながらの EUC-JP、とされてるようですが、状況的には CP51932 が OS レベルでサポートされたことはなく、.net レベルのサポートに留まっている
というのが結論と思われます。

OS レベルでサポートされているのは CP20932 の方でしょう。

ところでちょっと訂正。
>>923 で、"chcp 20932" が使えるのは Win10 以降と書きましたが、実際は Win2000 から使えるようです。
もっとも Win10 未満のコンソールでは "chcp 20932" すると日本語フォントが選択出来なくなるので、使い物にはなりませんが。

一方で、Win-API の MultiByteToWideChar() は Win2000 以降であれば CP に 20932 を指定して EUC-JP → Unicode 変換が可能のようで (マッピングの詳細は調べてませんが)、JIS X0212 → Unicode も変換出来ました。
SS3 を使わずに X0212 にシフトするという変態仕様も、この頃からだったんですね。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.032s