UTF-8
ゆーてぃーえふえいと規格1992
Unicodeを可変長で表す符号化方式。ASCIIと互換で効率がよく、現在のWebで事実上の標準となっている。
概要
Unicodeの文字をバイト列にエンコードする方式の一つ。1〜4バイトの可変長で、ASCII互換の英数字は1バイトのまま表現できる。現在のWeb上で最も使われている文字コード。
時代背景
設計者の一人Rob Pike本人の回顧によれば、1992年9月頃、ニュージャージーのダイナーで、Ken ThompsonとPikeが一晩でプレースマットの上に設計した。当時2人はBell研究所でPlan 9というOSを開発しており、既存のISO 10646由来のUTFを16bit文字に使っていたが不満を持っていた。X/Open委員会からFSS/UTFという別案の査読を頼まれたのがきっかけで、「自分たちで良い規格を作れる機会」と気づき、その晩に設計。翌週月曜までに動くシステムを約束し、実際に金曜にはPlan 9がUTF-8で動作していた。
俗説と実際
「IBMが設計し、Plan 9が実装した」という話がRFC2279を起点に広まっているが、設計者Rob Pike本人はこれを誤りだと明言している。実際には、X/Open委員会(IBM関係者を含む)からの相談をきっかけに、Ken ThompsonとPike自身が設計した。X/Open・IBM側の功績は、その機会を作り実際に規格として推し進めたことにある、とPikeは位置づけている。
現在
ASCIIとの完全な互換性と、必要な時だけバイト数を増やす可変長設計により、現在のWeb上の文字コードシェアの大半を占める世界標準になっている。
関連項目
- Unicode世界中の文字を一つの体系で扱うための文字コード規格。日本語・中国語から絵文字まで、あらゆる文字に番号を与えることで、言語をまたいだ情報のやり取りを可能にした。文字化けの時代に終止符を打とうとした試み。
- ASCII文字を数値に対応づけるための文字コードの基本規格。アルファベットや記号を7ビットの番号で表す素朴な決まりで、これがあったから機械同士が文字をやり取りできるようになった。今の文字コードもこの上に立っている。
- UTF-16Unicodeを16ビット単位で表す符号化方式。基本的な文字は2バイト、それを超える文字はサロゲートペアという2つの組で表す。WindowsやJava、JavaScriptの内部処理で使われている。
- Shift_JIS日本語をパソコンで扱うために広く使われた文字コード。Windowsや多くの国産ソフトで標準的に使われ、日本のデジタル文書を長く支えた。今もレガシーなファイルや古いソフトの中で出会う、文字化けの背景にもなる規格。
- ISO-8859-1(Latin-1)ASCIIに西欧言語のアクセント記号などを加えた1バイトの文字コード。英語に加えてフランス語やドイツ語などをカバーし、ISO/IEC 8859シリーズの代表として広く使われた。