CP932

CP932は、日本語のシフトJISのコードページの一つです。

恐らく日本人に最も馴染みの深いコードページと思われますが、同じコードページ番号でありながら、仕様が異なるものが多数あります。

日本のMS-DOS時代にはコードページは馴染みが薄かったので、PC-98などは取り敢えずCP932などの名前は不要であろうとして名前を設定してありました。
しかし今回、IBM関係で同名衝突の問題があったので、さらに細分することにしました。


① MS932
 Windows-31J とも呼ばれるWindows 3.1以降の実装です。
 新JISに、NECとIBMの拡張漢字を融合した、Windowsユーザーに馴染み深い文字集合です。

 MS932では、0x80、0xa0、0xfd、0xfe、0xffに割り当てがあるようなので、Windowsの変換表に合わせました。
 0x80以外は外字です。
 MS932、CP932、CP932/WINなどで指定します。


② IBM-932 (DOS/V)
 実物は未確認ながら、JIS C 6226 + IBM拡張漢字、とされているので、そのように実装(従来通り)。
 但し指定名については若干仕様変更があるかもしれません。
 この場合のDOSは、恐らくIBM PC DOS/Vだと思われます。MS-DOS/Vがどうなっているのかは更に未確認です。
 CP932/IBM、CP932/DOSV、IBM-932などで指定します。


③ IBM-932 (OS/2)
 今回の問題を引き起こした原因です。
 この文字集合はOS/2で使われており、コードページ932なのだそうです。
 「JIS C 6226の文字並び」にJIS X 0208-1983の追加文字を含む、とされていますが、確認した範囲では1990で追加された2文字も存在しました。ので、1990対応で実装しました。

 必要があれば、1983までの変換、1990対応の変換の二種類を実装可能ですが、今のところは特に分けていません。

 処理の内部的には、JIS X 0208で文字を扱っていますから、入力または出力時、JIS C 6226への変換を行なうことになります。その従来のJIS C 6226用新旧変換表を拡張し、2行追加されました。
 具体的には、一般的な新旧入れ換えに加えて、次の入れ換えを行なうことになります。一つ目はIBM拡張文字との入れ換えになります。

 0x9452, 0x3937,
 0x7426, 0x5f66

 CP932/OS2、IBM-932/OS2などで指定します。


CCS名を略した時に採用される文字集合をまとめると、次の通り。

CP932 → CP932/WIN
IBM-932 → IBM-932/DOSV

OS/2は、/OS2 のように付けて表現する方法にします。

2009/10/07(水)14:58 |Comments(0) |Trackback(0)

技術情報 | ソフトウェア開発 | コンピュータ | [編集]

▲ページトップ

コメント

コメントの投稿

ISCII91 ホーム Googleのロゴがバーコードに
トラックバック

この記事にトラックバックする(FC2ブログユーザー)
▲ページトップ

カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

プロフィール

miraicorp

Author:miraicorp
未来情報産業(株) 社長

主として「ICカードこれひとつ」や「文字、文字コード」処理、時々C++などについて記述しています。

twitterツイッター

管理用

検索フォーム

お知らせ

コメント等お気軽にどうぞ。

気に入ったら拍手して頂けると、今後の記事を書く際の参考や励みになります。

■お仕事を募集しております
ソフトウェア製造の仕事や、原稿執筆の仕事などを随時受け付けております。
お気軽にご相談下さい

■初めての方へ
こまごまと更新しているため、他にも関連する記事があるかもしれません。
「月別アーカイブ」「検索フォーム」「カテゴリ」などをお試し下さい。
トップページはこちら

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

広告枠

メール

メールはこちら

リンク

このブログをリンクに追加する

RSSリンクの表示

QRコード

QR