開発者向けUnicode FAQ--もう知らないではすまされない

杉山貴章(オングス)
2012-02-09 11:27:00
  • このエントリーをはてなブックマークに追加
最新特集【一覧】

 Unicodeの最初のバージョンである「Unicode 1.0」が登場してから、すでに20年が経過した。

 Googleが公式ブログ上で公表した統計によると、2001年頃にはほとんど使われていなかったUnicodeは、2005年頃から急速に普及しはじめ、現在はウェブ上のドキュメントの60%以上がUnicodeで記述されているという。

 開発者にとっても、最近ではUnicodeをベースにアプリケーションを開発することが当たり前になってきているが、実際には「なんとなく分かっているつもり」で済ませてしまっている人もいるのではないだろうか。

 そこで今回は、Unicodeについて開発者が知っておくべきことをおさらいしてみよう。

UnicodeとUTF-xxってどういう関係なの?

 Unicodeに対する理解を妨げている大きな要因のひとつが「UTF-8」や「UTF-16」との関係だ。

 そもそも文字コードとは、文字ひとつにつき、コンピュータが理解できる符号(ビットの組み合わせ)を割り当てた文字集合のことを差す。対象とする文字の表を作って、表の各位置(これを「符号位置」と呼ぶ)に、コンピュータが理解できる符号を割り当てるわけだ。例えば16進数の「0x41」という符号には、ASCIIコード表に照らし合わせると「A」の文字が割り当てられている。

 Unicodeは世界中の文字を1つの巨大な文字表に納めることを目的として作られたもので、文字と整数で表される符号位置との対応付けが定義されている。しかし、符号位置の整数がそのままコンピュータ上で符号として扱われるわけではなく、そこからさらにバイト列の形に変換して扱われる。UTF-8やUTF-16といった規格は、このときの変換方式(これを「符号化方式」と呼ぶ)を差すものである。

  • 新着記事
  • 特集
  • ブログ