「2バイト文字」という言い方

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

「2バイト文字」という言い方につっこみをしている人をあるところで見かけたので、これについて少々。

漢字や平仮名を「2バイト文字」のようにいう語法はずっと前からあります。昔からあるのだからいいのかというと、むしろこれは昔だからこそ便宜的に通用した言い方で、今では不適当です。順を追って説明します。

「何バイト」は文字そのものの性質ではない

まず、根本的なこととして、ある1文字の符号化表現に何バイトを要するかは、文字それ自体の属性ではなく、用いる文字コード (コード系) に依存することです。

例えば片仮名の「ア」を符号化するのに必要なバイト数は、JIS X 0201なら1バイト、JIS X 0213なら2バイト、UTF-8なら3バイト、UTF-32なら4バイトと様々に異なります。割り算の記号「÷」は、ISO/IEC 8859-1では1バイト、JIS X 0213では2バイト、UTF-32なら4バイト。

昔はあまり気にしなくてよかった

ただ、昔はそういう面倒なことを言わずに済んだのは、日本ではASCII/JIS X 0201とJIS X 0208だけを考えていれば良かったためです。これなら「漢字は2バイト文字」のような言い方で良かった。1バイトコードと2バイトコードを混在させると英数字や片仮名に1バイトと2バイトの両方が出てきますが、前者を「半角」後者を「全角」と呼ぶことであたかも別の文字のような扱いをすることで乗り切ってきた。

そういう牧歌的な時代が過ぎて、Unicodeが出てきたりまた8859など他の文字コードも意識するようになると、「どの文字コードの話をしているのか」をはっきりさせないと「何バイト」ということはいえなくなったわけです。

特定のコード系についての話ならOK

もっとも、逆に言えば、例えばShift_JIS-2004といった特定のコード系を前提とした場面では、「2バイト文字」とか「1バイト片仮名」といった言い方は全然アリです。

まとめ

  • 漢字や平仮名といった (コード系とは独立な) 文字種のつもりで「2バイト文字」というのは不適当。ある文字が何バイトかは用いるコード系による。
  • 特定のコード系を前提とした場面で、その系における1バイト文字、2バイト文字、のような言い方はOK。
  • なぜ昔はそういう煩わしいことを気にせずに済んだかというと、ASCII/JIS X 0201とJIS X 0208しか対象としていなかったから

関連記事

トラックバック(0)

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

コメントする

最近のブログ記事

JISの幽霊漢字が大正時代の新聞にあったように見えたという記事
JIS X 0208の幽霊漢字についてT…
Jアラート訓練メールで文字化けとのニュース
一昨日のことですが、中国・四国地方から文…
任俠の第3水準漢字
ユーモラス、と言っていいのか分かりません…
ふるさと納税で奥尻島のワインを頂きました
奥尻島は北海道の南西の方に浮かぶ島です。…
電子マネーの優先順位を考える
このブログを電子マネーとクレジットカード…

広告