Microsoftコードページ932

CP932 の誕生と発展

CP932が、現在の「Windows-31J」の形として完成に至るまでには複雑な経緯がある。
1982年（JIS X 0208-1983策定の前年）、JIS C 6226(JIS X 0208)を複雑にシフトさせた文字符号化方式としてShift_JISが誕生した。この符号化方式（を利用した拡張符号化文字集合）は、マイクロソフトによりMS-DOSにおける標準日本語コードとして採用され、「コードページ 932 (CP932)」という管理番号を与えられた。
しかし、マイクロソフトは、MS-DOSにおける唯一の日本語用コードページである「CP932」を、OEMメーカーの自由に任せていた。そのため、NECのPC-9800シリーズ、IBMのPS/55 シリーズ、富士通のFMRシリーズなどは全て、MS-DOSを搭載し文字符号化方式もShift_JISを採用しているコンピュータであるにもかかわらず、登録されている文字集合がバラバラだった。
以下、代表的な2つの実装を解説する。

インターネット上での Windows-31J の利用について

IANAのcharset登録簿には「Windows-31J」が登録されているが、「限定された、または特殊な使用のためのもの」とされており、インターネット上で用いることが推奨されるまでには至っていない。ただし、文字符号化方式としてShift_JISを用いてデータを交換しあう二者間において、明示的に使用が合意されている場合は、Windows-31Jを使っても問題が無い。
Unicode範囲を完全に表現可能なUTF-8等の文字符号化方式を用いてデータの交換をする場合は、話が若干ややこしくなる。IBM拡張文字等のWindows-31J独自追加の文字は、他のJIS X 0208非登録のCJK統合漢字に比べて、異機種（OS / アプリケーション）間でのデータ交換を、文字化けを起こしたりせずにデータのやり取りが正常に行える確率が高いからである。これについては、デスクトップOSとしてのWindowsの普及率が非常に高いことも理由の1つである。機種依存文字の項も併せて参照のこと。
とは言え、UTF-8などのようなUnicodeの登録文字を全て利用できる文字符号化方式を利用している場合であっても、あえてJIS X 0208登録文字だけを用いてデータ交換を行った方が、問題が起こりにくい。
また、Unicodeに変換した際、一部の文字がShift_JISとは異なるコードに割り当てられていることでの文字化けを起こすことがある。Unicode#波ダッシュ・全角チルダ問題および波ダッシュ#Unicodeに関連する問題を参照のこと。

NEC特殊文字・IBM拡張文字

NEC特殊文字や IBM拡張文字はもともとベンダの独断で作られた文字セットであるが、これがデファクトスタンダードとしての影響力を持った結果として現在では各種の公的な規格でも全部または一部が採用されている。

JIS X 0212-1990に登録されているNEC特殊文字（全部）

№

JIS X 0213:2004 に登録されているNEC特殊文字（全部）

① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ ㍉ ㌔ ㌢ ㍍ ㌘ ㌧ ㌃ ㌶ ㍑ ㍗ ㌍ ㌦ ㌣ ㌫ ㍊ ㌻ ㎜ ㎝ ㎞ ㎎ ㎏ ㏄ ㎡ ㍻ 〝 〟 № ㏍ ℡ ㊤ ㊥ ㊦ ㊧ ㊨ ㈱ ㈲ ㈹ ㍾ ㍽ ㍼ ≒ ≡ ∫ ∮ √ ⊥ ∠ ∟ ⊿ ∵ ∩ ∪

人名用漢字（2004年改正）に登録されているIBM拡張文字（全部）

寬 薰 瀨 增 德 賴 朗 橫 黑 緖 諸 祥 神 都 福 郞

JIS X 0212-1990に登録されているIBM拡張文字（全部）

№ 丨 仡 伀 伃 伹 佖 侊 侒 侔 侚 俉 俍 俿 倞 倢 偀 偂 偆 偰 傔 僘 兊 兤 冝 冾 刕 劜 劦 劯 勀 勛 匀 卲 厓 厲 叝 咜 咩 哿 喆 坥 垬 埇 埈 墲 夋 奓 奛 奝 奣 妤 妺 孖 寀 寘 尞 岦 岺 崧 嵂 嵭 嶸 嶹 巐 弡 弴 彅 彧 忞 恝 悊 惕 惞 惲 愑 愰 愷 憘 戓 抦 揵 摠 撝 擎 昀 昉 昕 昞 昤 昮 昱 晗 晙 曻 晳 暙 暠 暲 暿 曺 朎 杦 枻 柀 桒 桄 棈 棏 楨 榘 槢 樰 橆 橳 橾 櫤 毖 氿 汜 汯 沆 泚 洄 浯 涇 涖 涬 淏 淼 渧 渹 渼 湜 溿 澈 澵 濵 瀅 瀇 炅 炫 焄 焏 煆 煇 煜 燁 燾 犱 犾 猤 獷 玽 珉 珒 珖 珣 珵 琇 琦 琩 琪 琮 瑢 璉 璟 甯 畯 皛 皜 皦 睆 砡 硎 硤 硺 禔 禛 竑 竫 箞 絈 絜 綷 繒 纊 罇 羡 茁 荿 菇 菶 葈 蒴 蓜 蕓 蕙 蕫 裵 褜 訒 訷 詹 誧 誾 諟 諶 譓 賰 贒 軏 遧 鄧 釗 釚 釞 釤 釥 釭 釮 鈆 鈊 鈐 鈹 鈺 鈼 鉀 鉎 鉑 鉙 鉧 鉷 鉸 銈 銧 鋐 鋓 鋕 鋗 鋙 鋠 鋧 鋹 鋻 鋿 錂 錝 錞 錡 錥 鍈 鍗 鍰 鎤 鏆 鏞 鏸 鐱 鑅 鑈 隝 隯 霳 靃 靏 靕 顗 顥 餧 驎 髜 魵 鮏 鮱 鮻 鰀 鵫 鵰 鸙

JIS X 0213:2004に登録されているIBM拡張文字（全部）

ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ ￢ ￤ ＇ ＂ ㈱ № ℡ ∵ 丨 仡 伃 佖 侊 侔 俉 偀 傔 兊 冝 刕 勛 匀 匇 厓 厲 咜 咩 哿 喆 﨏 埇 埈 塚 增 奝 妤 孖 寘 寬 尞 岺 崧 﨑 嵓 嵭 嶸 弴 彅 彧 德 忞 惕 愰 愷 揵 摠 擎 昀 昉 昕 昞 昤 昱 曻 晙 晥 晳 暠 暲 曺 朗 杦 枻 柀 栁 桒 棈 楨 﨔 槢 橫 橳 櫤 毖 汜 沆 洄 涇 涬 淼 湜 澈 濵 瀅 瀨 炅 炫 焏 煆 煇 煜 凞 燁 燾 犾 猪 珉 珖 珣 琇 琦 琪 琮 瑢 璉 璟 甁 甯 畯 皛 皞 皦 睆 硎 神 祥 福 竫 箞 絈 絜 綠 緖 繒 纊 罇 茁 荢 菇 葈 蒴 蕙 﨟 薰 裵 褜 訒 訷 詹 誧 諟 諶 諸 賴 贒 郞 都 鄕 鄧 釗 釤 釥 釭 鈐 鈹 鈺 鈼 鉀 鉸 銈 鋓 鋠 鋿 錡 錥 鍈 鍰 鏆 鏞 隆 隝 霳 霻 靍 靏 顗 顥 馞 驎 魲 魵 鮏 鰀 鵰 黑 伀 侒 侚 倞 倢 偂 偆 偰 劦 劯 匤 咊 垬 夋 奛 寀 岦 嵂 嶹 悊 惲 憘 抦 撝 晗 暙 暿 桄 﨓 棏 榘 樰 橆 橾 氿 泚 淏 渧 渼 溿 澵 瀇 炻 焄 犱 獷 皜 砡 硤 礰 禔 禛 竑 竧 綷 荿 蓜 蕓 蘒 﨡 誾 譿 賰 﨤 釚 釮 鈊 鉎 鉑 鉙 鉧 銧 鋐 鋗 鋙 鋧 鋹 鋻 錂 錝 錞 鍗 鑅 隯 靕 髜 鮱 鵫 鸙

CP932の利用者定義領域

CP932においては、95 - 114区までの1880文字の領域が「利用者定義領域（外字領域）」となっている。
Unicodeとの変換について、Windows APIの仕様では、BMP面の私用領域 6400文字分の領域の先頭から1880文字目までと、95 - 114区の当領域を1対1の写像変換するようになっている。

アップルコンピュータのシフトJIS

アップルコンピュータは自社のコンピュータのOSとしてMS-DOSやCP/M-86を採用しなかったが、Macintoshが用いる文字コードとしてシフトJISを利用した。
そのMacintosh（漢字 Talk 7.1 以降）搭載のシフトJISの9 - 15区にはアップルコンピュータ独自の特殊文字が登録されている。このエリアには13区が含まれるため、Windows-31Jの「NEC特殊文字」領域と被っている。文字の例を挙げれば、NEC特殊文字の「①」は Apple特殊文字の「㈰」が同じコードポイントに登録されている。さらに、117区に「縦書き用文字」が登録されている点も Windows-31J と異なる。IBM拡張文字の領域は存在しない。この文字コードについては、MacJapanese を参照のこと。
漢字Talk 6以前のMacintosh では、NEC互換のシフトJISが使われており、13区のNEC特殊文字もMacintosh上で利用できた。macOS標準ウェブブラウザのSafariでは、Mac用シフトJIS (MacJapanese) で表示するのか、Windows-31Jで表示するのかを選択できる。

富士通のシフトJIS

富士通のMS-DOS搭載コンピュータのOEMコードページ932として使われる文字コードに、「R90」というものがある。これはFMRシリーズで利用された。この符号化文字集合の特徴は、87 - 93区に「OASYS 拡張文字」の領域を持つことである。ベースとなる文字集合はJIS X 0208-1990であるが、第一水準漢字の中で「78⇔83非入替文字」でない漢字（203文字）の字形をJIS C 6226-1978に合わせてある点に特色がある。なお、富士通のマニュアル等では、「R90」のことを「SJIS (R90)」と呼び、「Windows-31J」のことを「SJIS (MS)」と呼んで区別している。

京セラ・AH-K3001V のシフトJIS

京セラのPHS・AH-K3001Vの搭載するシフトJIS は、9 - 13区にPC-9800シリーズ用の特殊文字が搭載されている。