序講 韓国語の文字コードについて

韓国語を扱う上で、避けて通れないのが文字コードの問題。 「俺は Word と Excel しか使わん!」 という人ならば何も考えることはないのですが、 メールで韓国語を読み書きしたい、韓国語のホームページを書きたい、 という人は、この問題を避けて通れません。

そこでここでは、韓国語の文字コードにどんな種類があるのか、 一般に使われているのはどういうコードなのか、をまとめておきました。

(注)この項の内容を理解するためには、 日本語の文字コードに関してある程度の知識(少なくとも、 7 ビット JIS、シフト JIS、EUC、Unicode と言われて意味がきちんとわかる程度)が必要です。

したがって、読んでも意味がわからなければ、 この項は読み飛ばしていただいて結構です。 実際にいろいろなソフトで試してみて、 それで何か問題が起こったときに、コンピュータに詳しい人にこの講を読んでもらうようにするといいでしょう。


文字集合は KS C5601 が基本

日本語の文字コードには、Unicode を別にすると大きく分けて

の 3 種類の文字コードがありますが、どれも基本となるのは JIS X0208 の文字集合です。この文字集合は、1 区 1 点から 94 区 94 点までの 94×94 文字から成り立っており、この中に記号類、かな文字、英数字、 ギリシャ・ロシア文字、そして漢字が配当されています。

韓国語の場合も事情は基本的には同じで、EUC-KR、ISO-2022-JP-2、 ISO-2022-KR などといろいろな文字コードがありますが、基本となるのは、 日本と同じ 94×94 の文字集合です。(というか、 韓国が規格を制定するときに、日本のソフトを移植しやすいように、 日本と同じ 94×94 にしたのです。)

この文字集合を、KS C5601 と言います(最近では規格番号が変わって、 KS X1001 になっています)。この文字集合には、ハングル文字が約 2300 文字と漢字(もちろん、全部いわゆる旧字体です)、記号類、 ギリシャ・ロシア文字、そしてなんとなんと、 ひらがな・カタカナまで配当されています。

使えない文字も

ところが、この文字集合には、使いたい文字が採録されていない、 ということがあります。ハングル文字の子音と母音の組み合わせは全部で 11000 通り強ありますが、採録されているのはそのうちの 2300 種類強です。

これは、少ない文字数の中に必要なものを収めるという目的からすれば仕方のないことではあり(ハングル文字と漢字・記号類を合わせて 94×94 に収めるには、どうしても、使用頻度の小さい文字は削る必要があります)、 日常生活にはそれでもほとんど差し支えないのですが、それでも、 たまに困ることがあります。

そういうわけで、Microsoft などの各ベンダーでは独自に拡張を行って、 これらの文字が使えるようにしています。 なお、Unicode にはこれらの文字もすべて採録されています。

EUC-KR / CP949 が事実上の標準

では、この KS C5601 / KS X1001 の文字をどう符号化するのかというと、 韓国語 EUC(EUC-KR)という方法が標準です。つまり、 日本語の EUC と同じように、1 バイト目、2 バイト目として 0xA1〜0xFE を使い、1 バイト目で区番号を、2 バイト目で点番号を表現します。

実際には、Windows ではこれに加えて、0x8140 から 0xFEFE までの空き領域をフルに使って、KS C5601 にない文字も採録するようにしています(CP949)。もちろん、CP949 で拡張された文字は、UNIX などで扱うのは困難です。

シフト KS、ISO-2022-JP-2、ISO-2022-KR

EUC-KR 以外で KS C5601 をベースにした文字コードとしては、 「シフト KS」「ISO-2022-JP-2」「ISO-2022-KR」といったものがあります。 いずれも今ではほとんど使われることがなくなってしまいましたが、 知っておいて損はないでしょう。

シフト KS

日本語にしか対応していないソフトで強引に韓国語を扱うために開発されたもので、日本語のシフト JIS と同じ要領で、KS C5601 の文字を 0x8140〜0x9FFC、0xE040〜0xEFFF の領域にマッピングしたものです。 半角カタカナと重なる 0xA0〜0xDF を避けているため、日本語(シフト JIS) 用のソフトで問題がおきにくいという特徴があります。また、 EUC-KR のテキストも、日本語 EUC とみなして処理すれば、 そのまま日本語用のソフトで処理できてしまうという特長があります。

シフト KS を扱うには、専用のフォント(入力のためにはさらに韓国語 IME も)が必要です。昔からあるタイプの、日本語 OS で韓国語を扱うためのソフト(有名どころでは「Korean Writer」) ではシフト KS を使っています。

しかしながら、韓国ではシフト KS はまったく使われていませんし、 いまではほとんどのフリーソフト等が EUC-KR や Unicode を扱えるようにする方向で動いていますので、 日本でしか使われていない上に有償でソフトを購入する必要のあるシフト KS をわざわざ使うメリットはあまりないでしょう。

そういったわけで、本稿では、シフト KS を使うソフトについては、 これ以上はとりあげません。実際にシフト KS を使いたいかたは、たとえば Hangeul in Computer FAQ などを参照するといいでしょう。 (ただし、このサイトは情報が少々古くなっているようですので、 実際にご注意ください。)

ISO-2022-JP-2

主に、UNIX 系の標準テキストエディタ Emacs で使われているコードです。日本語用の 7 ビット JIS(ISO-2022-JP) を拡張して、

という方法で 7 ビットに符号化したものです。私が以前に某所で作成した文章は、 Emacs(Mule)を使用して書いたため、このコードを使用しています。

Emacs 系以外で対応しているソフトとしては、Netscape 6 と Kajero くらいで、 それ以外のソフト(Internet Explorer など)はほとんど対応していません。

ISO-2022-KR

韓国語のメールを書くという目的のために作られたコードで、 日本語の半角カナと似た要領で、SO(^N) 〜 SI(^O)で囲んだ中に、 KS C5601 の文字を 0x2121〜0x7E7E の範囲の 2 バイトで表現します。

が、今では実際には、韓国語のメールは、8 ビットの文字もおかまいなしで EUC-KR で流通しているようです。

Unicode という手もある

このほかに、Unicode を使うという方法もあります。 Unicode を扱えるソフトは徐々に増えてきていますので、 文字コードがどうのこうのというわずらわしい問題を考えることなく、 韓国語を自由に書くことができますし、日本語と韓国語の混在もできます。

なお、Word/Excel の 97 以降では、 内部的には Unicode を使うようになっています。

結局、どれがいいのか?

実際問題として、選択肢にのぼるのは EUC-KR と Unicode(UTF-8)の 2 種類です。

普通に韓国の人に対してメールを書くのであれば、 やはり EUC-KR が無難でしょう。EUC-KR ではひらがな・カタカナ・漢字 (ただし旧字体)も扱うことができますので、 その気になれば日本語と韓国語の混在も可能です。 (こういう目的に、Kajero が役に立ちます。)

ただ、EUC-KR にも問題点があります。それは、 「韓国語フォントを持っていない人は、日本語部分すらも読めない」 という点です。したがって、「主に日本語だが、 ごく一部にハングル文字が混じる」という場合には、 UTF-8 のほうが適任であるといえるでしょう。

なお、HTML の中に書く場合は、本文を普通に日本語(7 ビット JIS、 シフト JIS、EUC)で書いて、ハングル文字は &#nnnnn;nnnnn は Unicode でのコード番号の 10 進表記)または &#xNNNN;NNNN は Unicode でのコード番号の 16 進表記)で書く方法があります。 これについては第 5 講で説明します。


Copyright © IIJIMA Hiromitsu aka Delmonta, 2016/03/10 15:09 JST
これは「古文書」です。 古くなった情報も原則未修正で保存していますのでご注意ください。

古文書本館トップ | 電脳外道学会