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

アクセスカウンタ

zoom RSS データをやり取りする場合の文字コードのお話

<<   作成日時 : 2008/08/18 00:47   >>

ブログ気持玉 0 / トラックバック 1 / コメント 0

先日、CSV でデータをやり取りする際に必要な打ち合わせ事項をまとめたのだが、文字コードに関する部分があいまいなままだった。話が大きくなりそうなので、あえてごまかしておいたのだが、それについて、今日、調査してみたところ、案の定、簡単に説明できるものではなかった。

SIer さんなどとの日常会話では文字コードに関しては、「JIS第1水準、第2水準までで、SJIS でお願い」などと安直に済ませてしまうのだが厳密にやろうとすると、これではいささかよろしくない。
厳密にはお互いに使用する「文字集合」(上で言う「JIS第1水準、第2水準」といったもの)、「文字符号化方式」(上でいう「SJIS」といったもの)、さらに場合によってはフォントまで決めてしまわないといけないこともある。
私の日常業務のように、名簿を扱っていると、同じコードでもフォントによって字形が異なる文字があるので、フォントまで厳密に取り決めないと、お客さんのところで「私の名前の字はこうじゃありません」ということになってしまいかねないのだ。

文字集合
まず、文字集合に関しては、有名どころでは、Unicodeや JIS X 0201(半角英数カナ)、JIS X 0208(いわゆるJIS第1水準、JIS第2水準)、Adobe-Japan1、TRONコードなどがある。
紛らわしいことに、JIS X 0201(半角英数カナ)と、JIS X 0208(JIS第1水準、第2水準)、JIS X 0212(補助漢字)は組み合わせて使うこともある。
さらに紛らわしいことに、JIS X 0213(拡張漢字)というのがあって、これは JIS X 0208(JIS第1水準、第2水準) をほぼ網羅した上に、第3水準、第4水準を加えた文字集合になっている(なので、JIS X 0213 と JIS X 0208 を組み合わせて使うということはない。また、一部の字形が JIS X 0208 と JIS X 0213 では異なっているので注意)。
現実的には、Unicode か、JIS X 0201 と JIS X 0208 を組み合わせて使うケースが多いと思われる。もちろん、当事者間で、「半角カタカナや全角英数は使わない」だとか、Unicode でも「JIS X 0201 と JIS X 0208 に変換可能な範囲だけしか使わない」だとかいった、さらに細かい取り決めは必要になる。

文字符号化方式
続いて、文字符号化方式としては、Unicode ならば UTF-16 や UTF-8 などがあるし、JIS X 0201 と JIS X 0208 の組み合わせならば、EUC-JP や Shift_JIS などがある。文字集合によって、使える文字符号化方式が異なっているので、例えば、Shift_JIS を使うと言ってしまえば、それは JIS X 0201 か JIS X 0208、あるいはそれらを組み合わせた文字集合を使うのだろうという予測がつく。

フォント
最後に、用途によってはフォントも指定しておく必要がある。同じ名前のフォントでも、作成された時期によって、微妙に字形が変わっていたりするので、フォントのバージョン情報まで統一しておかなければならない。

以上

(2008年8月18日 追記)
この記事では、文字集合についての考察がまだまだ甘いようだ。が、下手に記述だけ増やすとごちゃごちゃするだけなので、この記事はこの記事で置いておいて、文字集合については後日、別記事で掘り下げるようにしたい。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(1件)

タイトル (本文) ブログ名/日時
データをやり取りする場合の文字コードのお話 改訂版
「データをやり取りする場合の文字コードのお話」について 文字コードについて勉強しなおしたので、先日の記事を書き直す。先日の記事に訂正を入れる形にするかどうか迷ったのだが、一からすっぱり書き直すことにした。視点を変えて。先日の記事も決して間違えているわけではないので、資料としての価値は十分にある。 ...続きを見る
民芸的プログラミング 〜ソフトウェア開発...
2008/08/23 22:54

トラックバック用URL help


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

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
データをやり取りする場合の文字コードのお話 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる