民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS アプリはUnicode、データはSJIS

<<   作成日時 : 2008/08/25 23:24   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 2 / トラックバック 0 / コメント 3

今さらながら、結局のところ、文字コードの話はここに落ち着くようだ。今日、会社でデータの整理をしていて思った。お客さまからもらったデータ、精査したが、テキストデータでUnicodeベースのものは一つも無かった。UTF8もない。UTF16も1件もない。全部シフトJIS。それも確信を持って、JIS90 ベースだといえる。JIS2004を意識したデータは1件もない。

国際化対応ということで、ソフトウェアはどれもこれもUnicode対応になっていく。これは止められない流れだ。厳密には、Unicode対応になった海外製のソフトが入ってくるというべきか。私のような日本人プログラマなら、シフトJISのお作法が身についているはず...もしかしたら若い連中は最初から Java で Unicode が当たり前なのかも知れないか。

その一方でUnicode 対応といっても、画面や紙に出力する場合は、現実には、Unicode 全体を使うのではなく、Unicode のサブセットを使うことになる。フォントの制約があるので、ユーザーが使いたいフォントで使える範囲に文字集合が制限されるのだ。
Unicode を100%使いこなせるのならば、一つの名簿データ内に、日本人の名前と中国人の名前を混在させることも可能だ。しかし、そうしたところで、フォントにMS ゴシックを選んでしまえば、中国人の名前は部分的に消えることになってしまう。日本語と共通して使う文字の部分は残るだろうが、中国独自の文字、言い換えれば JIS90(あるいは JIS2004)に含まれない範囲の文字は、フォントに含まれないために消えてしまうのだ。
こういった事故がおきないように、IMEでもある程度の制限がかかっているはずだ(日本語IMEでは簡体字は入力できないなど)。
全Unicodeを単独で表現できるフォントが配布されるまで、この問題は続くだろう(世界中には混在しえない組み合わせの言語もあるかも知れない)。

ということは、現実的に考えて、日本国内で広範囲にやり取りされるデータは、JIS90(あるいはJIS2004)か、仮にUnicodeであったとしてもJIS90かJIS2004に変換できる範囲でしか使えないことになる。
データをやり取りする際に、「UTF8 だけど JIS90 に変換できる範囲でお願い」とわざわざ言うくらいなら、最初から「JIS90で」あるいは「JIS2004で」と言ってしまったほうが、分かりやすくて間違いも少ないだろう。
Windows Vista の普及速度が遅いので、JIS2004がなかなか浸透しないという問題がもう一方にあり、結局のところ、私の身の回りは JIS90 だらけになってしまっている。

この状況が明日、明後日にいきなりひっくり返ることはないだろう。一人粋がってJIS2004 を使ったところで、周囲に迷惑をかけるだけだ。当面はデータ交換には JIS90 でシフトJISを使い続けるしかない。どうしてもそれが嫌なら、Excel形式のファイルを使って、別のトラブルと戦うのもいいだろう(洒落にならないくらい、このケースのほうが多かったりする)。

しかし、このテーマ、ここでいくら力を入れて分析してみても、現場のパンチャーさんは文字コードなんて何も気にしていないというのが現実なのだろうな...。

ついでに、プリンターに組み込みのフォントもJIS90のままだったりするので、安易にJIS2004には移行できない。
さらにメモついでに書いておくと、IPAフォントがJIS2004対応なので、これはちょっとしたかく乱要因になるかも知れない。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 2
なるほど(納得、参考になった、ヘー)
面白い

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(3件)

内 容 ニックネーム/日時
それもそのはず。
何しろ出しているこちらがJIS78かJIS83なんで。JIS90を使うこと自体、ものすごく珍しいし、まずない。長年文字データに関わっているけどUnicode、UTF-8、UTF-16に接したことがない。自分の周りに関する限りまったく使われていない。
もんかへ
2011/10/28 12:56
もんかへさんこんにちは。もうこの記事を書いてから3年も経つのですね。それでも確かにおっしゃるとおり、未だにUnicode系のテキストデータが入ってきたことは一度もありません。プログラムはUTF-8で書く習慣になりましたが。
kazuyoshikakihara
2011/10/28 21:06
そうでしたか。
自分の場合は最終的には16進数のコード値でどうこうしないとならないので、プログラムもシフトJISで書いています。入出力するデータをプログラム中の固定の文字列を使って比較したり、検索したり、置換をする必要があります。そのときに必要としていない文字コード変換をするとバグのもとになってしまいます。それで今もプログラムはシフトJISのままなのです。
もんかへ
2012/09/30 12:20

コメントする help

ニックネーム
本 文
アプリはUnicode、データはSJIS 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる