日本語の文字コードについて (1999.1.25)
 目次 
文字コードの種類
OSによる改行形式の違い
文字コードの変換方法

文字コードの種類

 日本語の文字コードには、次の4種類があります。
  1. S-JISコード(シフトジスコード、Shift-JIS, SJISとも表記)
    Windows や Mac-OS で使われているものです。MS漢字コードとも。
  2. JISコード(ジスコード)
    ISO-2022-JPに基づくもの。電子メールや大型コンピュータ等で使われているものです(ただし、電子メールの場合、他のコードであっても大抵の場合メール用ソフトが自動変換しますので、意識されることは少ないかもしれません)。
  3. EUCコード(イーユーシーコード)
    Extended Unix Code の略。Unixなどで使われているものです(ただし、UnixではS-JISやJISを使う場合もあります)。AT&Tコードとも。
  4. UNICODE(ユニコード)
    これからの標準と目されているもので、少しずつ実用化の準備が進められています。日本語に関しては中国語・朝鮮語と併せたコード(CJK)及び字体が割り当てられることになっており、この点を中心に議論が続いています。
    なお、Windows98は UNICODE対応になっています(OSの基本コードとしてはS-JISですが、UNICODE対応のフォントを導入すれば利用可能ということです)。WindowsNT Ver.4 ではすでに対応済みですが、いずれの場合も UNICODEが利用可能なのは、UNICODE対応のソフト(ATOK(11以降), MS-IME98や一太郎(8以降), MS-Word98など)上で、UNICODE対応フォントを使用する場合です(一太郎では、一太郎Office8と一太郎プレミアムにバンドルされるJS平成明朝体フォントになります)。
 これらは、以下のような表示になります(今表示しているファイルはS-JISコードですので、S-JISがちゃんと表示されています)。このように、アルファベットの部分はコード間の違いはありませんが、日本語の部分が異なります(ブラウザにより異なる場合があります)。ただし、一般的には、ブラウザが自動的に文字コードを判別するので、文字コードが混在しない限りは、どのコードであってもちゃんと表示されるはずです(複数の文字コードに対応しているブラウザもあります)。
文字コード我輩は猫である。I am a cat.HTMLファイル
S-JIS 我輩は猫である。 I am a cat. S-JISによるHTMLファイル
JIS 2fGZ$OG-$G$"$k!# I am a cat. JISによるHTMLファイル
EUC イ貮レ、マヌュ、ヌ、「、。」 I am a cat. EUCによるHTMLファイル



OSによる改行形式の違い

 一般的に使われているOS(Operation System)には大きく次の4種類がありますが、改行を意味するコードが少しずつ異なります。
 OS改行形式備考
A.MS-WindowsCR(復帰)+LF(改行)CR
(復帰)
○   ←   ○
B.DOSCR(復帰)+LF(改行)
C.Mac-OSCR(復帰)LF
(改行)


D.UnixLF(改行)

※CR(復帰)とは、行の途中から行の先端(左端)へ移動する命令を表します。LF(改行)とは、左右の位置は変えずに次の行に移る命令を表します。上図の備考を参照。

改行形式が異なっても、実際の画面上では同じ動作(改行して左端へ移動)であり、LF(改行)というコードも絡んで少々わかりにくいかもしれません。別の説明の仕方をすれば、それぞれのOSでエディタ等を使っている場合に、リターンキーを押して改行(改行して左端へ移動)させた時に挿入されるコードがそれぞれ異なるということです。Mac-OSでは、CR(復帰)コードで自動的に改行も行われます。Unixでは、LF(改行)コードで自動的に左端への復帰も行われます。

 改行形式の違いがどんな問題になるかというと、

などの問題があります。

 しかし、通常の場合、以下に示す文字コード変換ソフトや異機種間のコンバートソフト(Mac-OSにおけるPC Exchange等)が、この改行形式の違いを自動的に修正してくれるはずです。



文字コードの変換方法

 文字コードは変換可能です。特にインターネット上ではさまざまな文字コードが混在していますので、それらを統一して自分の環境に合わせるためのソフトがいくつか公開されています。専用ツールに加え、エディタのマクロもあります。使用方法・条件等については、それぞれの説明をよく読んでください(FTPクライアントソフトの中には、転送時にコード変換・改行形式の変換をするものもあります)。
nkf - ネットワーク用漢字コード変換フィルタ
作者:
市川 至氏・COW氏・藤原氏
登録:
Niftyserve - FWINAL LIB-8
Vector Software Pack( http://www.vector.co.jp/vpack/filearea/) 他
OS等:
DOS, UNIX, Windows3.x(16bit), Windows95/NT(32bit), OS/2, Macintosh
ただし、Windows版はDOSプロンプトで動作。

ack - 日本語コードコンバータ
作者:
小笠原博之氏
登録:
Vector Software Pack( http://www.vector.co.jp/vpack/filearea/win95/util/text/conv/ )他
OS等:
Windows95/NT(32bit)

QKC - Quick KANJI code Converter
作者:
佐藤公彦氏
登録:
Vector Software Pack( http://www.vector.co.jp/vpack/filearea/) 他
OS等:
DOS (Cソース版もあり)
備考:
最新バージョン Ver.1.9 (1996.11.1)

秀丸マクロ 文字コードの変換 - 秀丸エディタ用マクロ
作者:
JR氏
登録:
Niftyserve FWINAL-LIB19 #987
http://win.blue.co.jp/~jr-kun/
OS等:
秀丸エディタ for Windows95(Ver.2.15以降)が動作する環境
備考:
最新バージョン Ver.2 (1998.3.8)

Back #HOMEホームページへ戻る