背景
送信先の都合上、システムから出力するファイルを「MS932(Windows-31J)」で出力する必要があった。
ファイルをエンコードするためにEncord.GetEncording()メソッドを利用する。
パラメータに"Shift-JIS"を指定したけど、これってMS932なの?ってなったので備忘録
結論
Microsoftにおいては一緒。
Shift-JIS = MS932 = Windows-31J = CP932(※)
ちなみに、こういう経緯らしい
年 | 事象 |
---|---|
1982年 | Microsoftが旧Shift-JISであるCP932を開発 |
1983年 | IBMがCP932に独自の拡張を加えたものを開発 |
〃 | NECもCP932に独自の拡張を加えたものを開発 |
1993年 | MicrosoftがIBM/NECの拡張分を含めた新Shift-JISであるCP932を開発 |
じゃあCP932とMS932は何が違うんだ、という話だがこれは同じものを指す。
1982年版のCP932と区別した呼称としてMS932が使われているそう。
※補足
コメントにてご指摘いただきましたので追記します。
Microsoftのライブラリを使用した開発においてShift-JISはMS932(IANAに”Windows-31J”として登録された文字集合)として扱われますが、一般的にShift-JISとされている文字コードは前述の旧Shift-JIS(IANAに”Shift-JIS”として登録された文字集合)を指します。これはHTTPヘッダのContent-Typeなどで文字エンコーディングとして使用されているものです。
同じShift-JISでもMS932とは別の文字集合として扱う場合もあることに留意してください。
参考