このページはunicode.orgの英語版FAQを元に作成しました。
Q1. UTFとは何か
Unicode Transformation Formatの略。文字コードのひとつである,
Unicodeをある一定の計算方法にのっとって
UTFとUnicodeは1対1変換可能な関係にある。すなわち,全てのUTFは,
いかなるUnicode文字列Sをも一旦変換してまた逆変換すれば
Sに戻るような
Q2. UTF-8の定義は?
Q3. UTF-8のコード化方法は,プロセッサの種類(リトル エンディアンとビッグエンディアン)に依存しないか?
依存しない。UTF-8は1バイトのデータの列で表される。 従い,16-bitや32-bitの値で問題になるエンディアンの問題は発生しない。
Q4.UTF-8コード化スキームは既存のASCIIやEBCDICコードと同 等のirrespectiveか
ほぼ同じである。しかしながら,標準UTF-8はEBCDIC システムとは相互互換性が無い。なぜなら,コントロールコードに 違いがあるからである。UTF-EBCDICを使用することでこの問題を回避 できる。UTF-EBCDICの仕様についてはUnicode Technical Report #16を 参照のこと。
Q5.どれを選んだらいいのか:UTF-8, UTF-16, UTF-16LE, UTF- 16BE, UTF-32, UTF-32LE, UTF-32BE?
一概に決められない。WEBでもっとも普通に使われるのは UTF-8である。UTF-16, UTF-16LE, UTF-16BEは,JavaとWindowsで使用 される。UTF-32LEとUTF-32BEはいろいろなUnixで使わている。
Q6. UTF-16とは何か?
Unicodeは現代の言語を表現するための文字ひとつひとつに 16-bitのコードを割りあてたものである。(古代言語に使用される文字は, 私用領域として予約されたコードを使うつもりであった)。14,500以上の 文字の割り付けを経て,16-bitで十分文字を表現できるという考えに基づ き,UTF-16が生まれた。
UTF-16は約65000文字を表現することが可能である。また, あらかじめ予約されている拡張の仕組みを利用することで,約100万 の文字を追加できる。Unicodeコード値の二つの範囲(0xD800から 0xDBFFと,0xDC00から0xDFFF)が予約されている。Unicode 3.0では この拡張の仕組みは用意されていない。日常用いられる文字のほとんどが 先の約65,000文字に含まれているからで,追加の必要のある文字は少ない だろうというのがUnicode関係者の見解。
Q7. UTF-16は拡張できるのか?
できる。UTF-16で表現される全ての文字は,UTF-32ては 32-bitの一文字で表現される。この32bitの値は,Unicodeの文字コード そのものである。UTF-32はISO10646で定められたUCS-4というコード 化規格の一部である。詳しくは, 技術文書#19 UTF-32を参照のこと。
Q. HTMLにおいて一枚のページに複数の言語を掲載しようと する場合はどうすればよいのか?
HTML(またはXML)では,2つの方法:1)NCRを使用する, 2)使用する文字全てを含んだ文字集合(charset)を使用する---がある。
NCRとは何か?
NCRとは,文字をそのまま使う代わりにその文字に割り当て られている文字コードで表現する方法。例えば,"a"という文字を文字 コードで表現すると"a"(16進数表現)あるいは"a"(10進数表現) となる。