漢字コードについて

INDEX

戻る

漢字コードの種類

参照)The Unix Super Text【上】,第17章,p.283

JISコード
7ビットコード体系。JIS規格 JIS X0208。 1バイト文字(英字、数字、半角カナ)から2バイト文字 (全角文字、漢字)への切替えは、エスケープシーケンス (ESC文字[0x1B]で始まる3バイト) を用いてシフトイン"ESC $ B"で切り替わり、 逆に2バイトから1バイトへは、シフトアウト "ESC ( J"によって切り替わる。
SJISコード、シフトJISコード
8ビットコード体系。ISO規格には沿っていない。 文字コードが[0x00〜0x7F],[0xA0〜0xDF]であれば、 ASCIIコード、半角カナ文字を割当る。 [0x81〜0x9F,0xE0〜0xFC]であれば、次に続く文字コードと含めて 2バイトで漢字コードにする。
EUC,Extended UNIX Code
8ビットコード体系。AT&T社により定められたもの。 特に日本語コードの為のものではない。 厳密には、EUCコードの日本語版。 4組のコードの集合に分かれる。 [0x00〜0x7F]なら、ASCIIコード。 ss2[0x8E]なら、次の1バイトが半角カナ。 これはJISコードのそれの最上位ビットを1にしたもの。 ss3[0x8F]なら、次の2バイトが外字コード。 これら以外なら、次のコードとの2バイトで漢字コード。 これは、JISコードのそれの最上位ビットを1にしたもの。


漢字コードの変換

参照)The Unix Super Text【上】,p.287

nkf ( network kanji filter) を用いて漢字コードの変換をする。

 $ nkf -s test_euc.txt > test_sjis.txt
これで、EUCコードの test_euc.txt が、 SJISコードの test_sjis.txt に変換される。 コード変換のオプションは
  -j    JISコード
  -s    シフトJISコード
  -e    EUCコード
を選びば、そのコードに変換される。
注)リダイレクションで出力しているので、入力ファイル名と 出力ファイル名を違う名前にしなければならない。


ktermでの漢字コード

kterm での漢字コードを選ぶには、 kterm の上にマウスのカーソルを載せて、 コントロールキーを押しながら、 真中のボタンを押すと出て来るメニューで選ぶ。

│  ........略.........  │
│ゝEUC Kanji Mode       │
│Shift-JIS Kanji Mode │
└─────────────┘
これで、EUCコードのファイルが less 等で kterm に 文字バケしないで表示される。 JISコードの場合は、このEUCコードのモードで大丈夫のようである。 シフトJISコードのファイルを見るには、 当然、上のメニューの Shift-JIS Kanji Mode を選ぶ。
kterm を立ち上げる時点で、 漢字コードを決めるには、オプションをつける。 EUCコードなら、
 $ kterm -km euc
であり、シフトJISコードなら
 $ kterm -km sjis
である。


Mule での漢字コード

Mule は漢字コードの認識は自動でするので、特に気にする必要はない。 編集しているファイルの漢字コードを知るには、 Mule の左下に表示してある E や J, S のそれぞれの漢字コードの イニシャルで判別できる。

  │
  ├─────────────────
  │-[あ]E.:--**Mule: filename_euc.txt     
  ├─────────────
  └───────────
	^^^
	これ
Mule 上で漢字コードの変換をするには、
    C+x C+k f
とキーを押すと、
    File coding system :
と入力待ちになるので、コードの種類を入れる。 ここで、 TAB キーを押すと補間がきくので、 入力可能なコードのリストが出る。
 *oldjis*unix      JIS
 *sjis*unix        シフトJIS
 *euc-japan*unix   EUC
と入力するとそれぞれのコードに変換される。

参照)The Unix Super Text【上】,p.289


戻る