漢字コードについて

HOME > とほほのWWW入門 > アラカルト > アラカルト
1998年8月23日版

ASCIIコード

ASCIIコード表を以下に示します。例えば文字 A は、4行目の1番目の文字なので、16進数で #41 というコードになります。#00〜#19 および #7E にはTAB文字などの特殊コードが割り当てられています。
 ---+-------------------------------------------------
    |  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
 ---+-------------------------------------------------
  2 |     !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /
  3 |  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?
  4 |  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
  5 |  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _
  6 |  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o
  7 |  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~
 ---+-------------------------------------------------

半角カタカナ

Windowsでは、#A1〜#DF までのコードは半角カタカナコードとして扱われます。ただし、インターネットにおいて半角カタカナコードを使用することは御法度とされています。(下記の表も全角文字で表現しています。)
 ---+-------------------------------------------------
    |  0 1 2 3 4 5 6 7 8 9 A B C D E F
 ---+-------------------------------------------------
  A |     。 「 」 、 ・ ヲ ァ ィ ゥ ェ ォ ャ ュ ョ ッ
  B |  ー ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ
  C |  タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ
  D |  ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ン ゙  ゜
 ---+-------------------------------------------------

漢字コード

漢字コードは1バイトでは表せないので、複数バイトで表します。「全角文字」とか「2バイト文字」とか呼ばれることもあります。表し方にいろいろな体系があります。

コード説明
JIS電子メールなどで使用。
シフトJIS主にWindowsやMacintoshで使用。
EUC主にUNIXで使用。
Unicodeあまり使用されていない。

JISコード

日本工業規格(JIS)で定められている漢字コードです。インターネットにおける電子メールの送受信にはJISコードを用いることになっています。

シフトJIS

正式には「MS漢字コード」と呼びます。Microsoft社のMS-DOSにおいて漢字を扱うために考案されたコードです。MS-DOS、Windows、Macintoshで通常用いられる漢字コードです。

EUC

Enhanced UNIX Codeの略で、多くのUNIXで用いられる漢字コードです。
文字化け
「.$B$3$l$,J8;z2=$1$7$?4A;z%3!<%I$G$9!#.(B」のような文字列を見たことがあるでしょうか。 これはJISコードのファイルをWindowsで表示した場合など、OSやアプリケーションに適していない漢字コードを表示した際に発生します。

漢字コードを識別するには

Windowsの場合ファイルをメモ帳で開いて、通常に表示されるならシフトJIS、「.$B4A;z%3!<%I$rD4$Y$k.(B」のように「$」を多く含む文字化けになる場合はJISコード、半角カタカナを多く含む文字化けになる場合はEUCと判断できます。

漢字コードを変換するには(nkf)

漢字コードを変換するのによく用いられるコマンドにnkfがあります。 Network Kanji Filterの略です。 元々UNIX用のフリーソフトとして開発されましたが、Windowsなどにも移植されているようです。
   nkf -j fileA > fileB ... JISコードに変換します。
   nkf -s fileA > fileB ... シフトJISに変換します。
   nkf -e fileA > fileB ... EUCに変換します。

漢字コードを変換するには(jcode.pl)

CGIスクリプトの中で漢字コードを変換するには、jcode.plというperl用ライブラリがあります。

ブラウザの自動識別機能

日本語で書かれているホームページは、JISコード、シフトJIS、EUCなどいろいろな漢字コードのものが混在しています。 通常、ブラウザはこれを自動的に判別して、適切な漢字コード変換を行って表示してくれています。 ただし、たまに自動判別できないページがあるようで、判別に失敗すると文字化けのページを表示してしまいます。 一般に、JISコードのページはほとんど文字化けすることがなく、逆にEUCのページは文字化けすることが多いようです。

ブラウザの文字化けを防ぐには(見る時)

他者が作成したページを表示する際に文字化けして読めない場合は、Netscape Navigatorの場合[表示]→[文字コードセット]から[日本語(Shift_JIS)]や[日本語(EUC_JP)]を、Internet Explorerの場合は[表示]→[オプション]→[情報]→[フォント設定]→[MIMEエンコード]で[EUC]や[シフトJIS]を選ぶと、正常に表示されるようになります。

ブラウザの文字化けを防ぐには(作る時)

「WEBテクニック」の「文字化けしないようにする」を参照してください。

Copyright(C) とほほ ( http://www2e.biglobe.ne.jp/~s-hasei/ )