CP932とMS932の違いを調べて知ったCP932とSJISの違い

「統合したCP932」とMS932は同じようなもんです。

「統合したCP932」をJavaではMS932といいます。
わざわざ「統合したCP932」としたのには理由があります。
CP932は時代によってものがちょっとずつ違うのです。

CP932の歴史

西暦 CP932
の歴史
ざっくり説明
1982 CP932誕生 マイクロソフトが日本語ようにSJISという文字コードを作りました。このSJISの管理番号はコードページ932(CP932)でした。
1982以降 NECIBMCP932をそれぞれで拡張 各社が自社製品用にCP932を拡張したのでCP932種類ができました。
1993 CP932を統合 マイクロソフトは拡張されたCP932を統合してWindows-31Jという名前でIANAに登録しました。CP932っていうと種類があるからJavaでは統合されたCP932(=Windows-31J)をMS932と呼ぶことにしました。

これをまとめてわかりやすい図で紹介しているのが以下のサイトです。

https://weblabo.oscasierra.net/wp-content/uploads/2015/07/shift_jis-windows31j.png
Shift_JIS と Windows-31J (MS932) の違いを整理してみよう |

「誕生したばかりのCP932」とSJISと同じですが、「統合されたCP932」とSJISには違いがあります。

「統合されたCP932」にはあるけどSJISにはない文字があります。

「誕生したばかりのCP932」はSJISと同じですが、紆余曲折の結果「統合されたCP932」にはあるけどSJISにはない文字があります。
NECやBIMが拡張した部分です。
なんだかんだで結構いっぱいあります。どれもむつかしい漢字ばっかり・・・読めない書けない見分けられない。
漢字以外にもあります。

(CP932にはあるけどSJISにはない漢字の一例)
奓 奛 奝 奣 妤 妺 孖 寀 甯 寘 寬 尞 岦 岺 峵 崧 嵓
﨑 << これは「タチサキ」というらしい
鋗 鋙 鋐 﨧 鋕 鋠 鋓 錥 錡 鋻 﨨 錞 鋿 錝 錂 鍰 鍗 鎤 鏆 鏞 鏸 鐱 鑅 鑈 閒 隆 﨩 隝 隯 霳 霻 靃 靍 靏 靑 靕 顗 顥 飯 飼 餧 館 馞 驎
髙 << これは「ハシゴダカ」というらしい

(CP932にはあるけどSJISにはない漢字以外の一例)
㌔ ㌢ ㍍ ㌘ ㌧ ㌃ ㌶ ㍑ ㍗ ㌍ ㌦ ㌣ ㌫ ㍊ ㌻ ㎜ ㎝ ㎞ ㎎ ㎏ ㏄ ㎡

ちなみにCP932SJISである文字ない文字を見るのにこちらのサイトが便利でした。
uic.jp

SJISCP932で2byte目が「5C」「7E」の文字には問題が起こることがあります。

Shift_JIS(SJIS, cp932) の文字コードで、2byte目が0x5c の \ になっているものの俗称(だめ文字、駄目文字)
0x5cの \ は使用するフォントやロケールによりバックスラッシュまたは¥記号で表示されます。
ダメ文字を含む文字列やパス、ファイル名を処理する場合には文字化け、検索不可など様々な不具合が起きることがあります。
ダメ文字には ー ソ 十 表 など、使用頻度の高いものもあるので cp932を扱う場合には注意が必要です。
fudist - Shift_JIS(cp932)の「ダメ文字」

2byte目が5cと7eの一例

2byte目→
↓1byte目
5c 7e
0x \ ~ \正規表現とかでエスケープ文字になる
81 ×
83
84 Ы н
89
8a
8b
8c
8d
8e
8f
90
95 何年か前に「表現」って文字がおかしくなったことがあったなぁ
87 ここはCP932にはあるけどSJISにはない
fa ここはCP932にはあるけどSJISにはない