JISの扱い

戻る

インターネットやコンピュータ上で日本語を扱うためには、主に3つの文字セットが使われる。UNIX上ではEUCという8ビットコードがよく使われる(が、ここでは言及しない)。PC(Personal Computer)ではマイクロソフトが作ったシフトJIS(SJIS)形式が一般的に扱われる。もともとJISが存在していたものに対して、PC内部で扱い易いように変更が加えられたものである。

JISは全て7ビットのキャラクタで形成されているため、ネットワーク上で伝送されるのに適しているが、SJISやEUCは全て2バイトのキャラクタで形成されているため、コンピュータ上で扱い易いという特徴がある。メールリーダにおいては(システムとの関係によるが)、JISキャラクタをSJISキャラクタ(またはEUCキャラクタ)に変換する必要があると言えよう。

メールにおいては、8ビットのキャラクタやデータを扱うことは実質的に禁止されている。そのため、もともとのコンピュータ上でSJISであろうとEUCであろうと、JISに変換してから送信されることが多い。JISキャラクタをPC上で眺めると、まさに文字化けしているような様相を呈する。SJISに変換して表示してやることが必要である。(現実には、文字が化けているのではなく、表示が化けているのだが)

JISキャラクタは、インターネット上では、ISO-2022-JPと呼ばれる。通常のASCIIキャラクタに対して、特定のエスケープシークェンス(エスケープ文字を筆頭にした文字列)により、以降の文字がJISであることを宣言するスタイルとなっている。エスケープ文字は、目に見えない特殊記号である。16進で1B(10進で27)の値を持つ1バイトデータと言っても良い。なにしろ目に見えない記号なので、「ESC」と記述されることが多い。JISにおけるエスケープシークェンスは、下記の通り。

ESC ( BASCII1バイト文字の開始マーク
ESC ( JJIS X 0201-1976 ("Roman&Quot; set)
ESC $ @JIS X 0208-19782バイト文字の開始マーク
ESC $ BJIS X 0208-1983

正確には、「ESC ( B」と「ESC ( J」とでは、バックスラッシュと円記号、チルダとオーバスコアという表示上の相違があるが、表現するためには文字フォントの切替が必要になるなど、実装は困難であり、同じ物として扱ってしまっても致し方ないと思われる。これらは実質的には漢字表示の終わりを示すものと考えて良く、「ESC $ @」と「ESC $ B」が漢字表示の始まりを示すものと考えて良い。

JIS漢字コードをSJIS漢字コードに変換するためには、コードを表現している2バイトを、1バイトずつに分け、条件式を当てはめて計算して行くことになる。変換プログラムはインターネット上で検索を行えば、容易に見つけることが可能であろう。キャラクタの変換自体は難しいことではないが、変換が必要となる条件に沿った動作を行うようにすることに注意が必要となる。


ProtocolNameRFC
----Japanese Character Encoding for Internet Messages1468