これからの文字コード

| コメント(0) | トラックバック(0)

細かい背景などを抜きにして結論だけ言ってしまうと、これからの文字コードの使い方は次のように考えればいいのではないかと思います。ただしここではファイル等に用いる外部コードを問題にしており、内部コードは対象外とします。

  1. 特に理由が無ければUTF-8を使う。
  2. ただし、EUCの符号構造が必要なときはEUC-JIS-2004を使う。
  3. ただし、SJISの符号構造が必要なときはShift_JIS-2004を使う。

UTF-8といっているのは、ソフトウェアの国際展開を考えたらUnicodeを使うのが最も手っ取り早いからという理由が大きい。私は別にUnicodeを礼賛するつもりはないし色々問題を持ってはいますが、現時点では仕方ないと思います。Unicodeの符号化方式でも、外部コードとして使うならUTF-16などでなくASCII互換のUTF-8の方が扱いやすいだろうということです。

また単にUTF-8といっても対応度合いが様々なのが問題です。4バイトのUTF-8に対応しているかどうか、結合文字を含むときに問題が起きないかどうか、確認する必要があります。文字の範囲としてはJIS X 0213の文字を含むことを必須とすると良いでしょう。

さて、EUCの符号構造が必要なときというのは、プログラムやデータフォーマット等がEUCの構造を要求している場合ということです。私もEUCの構造を前提にしたプログラムをいくつも持っています。そのときはEUC-JIS-2004を使っています。SJISの場合も同様で、SJISの符号構造が必要ならばShift_JIS-2004を使えば現代日本の文字をよくサポートできます。

SJISなんてこれから無くなるんじゃないの、と思われる方もいるかもしれませんが、11年前、JIS X 0213が制定されたときだって、これからはUnicodeの時代だからSJISなんて必要ないと思われていたのです。しかし現実は違いました。11年経った今でもSJISは盛んに使われています。それなら、2000年の時点で覚悟を決めてShift_JISX0213 (2004年改正でShift_JIS-2004となる) を採用しておけば良かったのです。

COBOLという言語は古くさいものだと思っている人が多いかもしれませんが、業務用には現在でも盛んに使われています (ある人がCOBOLを馬鹿にする発言をしたところ、「君の給料もCOBOLで計算されているんだよ」とたしなめられたという話があります)。古いものが案外しぶとく使われ続けることもあるわけです。SJISが文字コード界のCOBOLになるかどうかは分かりませんが、使うのならばきちんと現代日本の文字に対応したバージョンのSJIS、つまりShift_JIS-2004を使うのがものの道理というものでしょう。

トラックバック(0)

トラックバックURL: http://yanok.net/yanok/mt-tb.cgi/275

コメントする

最近のブログ記事

仮名合字・合略仮名の文字コード
合字とは 合字というものがあります。複数…
なぜ『プログラマのための文字コード技術入門』の改訂新版にはSKKと Emacsの話が入っていないのか
拙著『[改訂新版] プログラマのための文…
朝鮮半島の訃報の第3水準漢字
朝鮮戦争で韓国軍として活躍した白善燁氏が…
テレワークの環境改善〜CO2濃度をチェックする
テレワークの問題点 新型コロナウイルスの…
エンジニアHubにて「文字コード再入門─ Unicodeでのサロゲートペア、結合文字、正規化、書記素クラスタを理解しよう!」公開
「エンジニアHub」にて記事を執筆しまし…

広告