Unicodeとは、世界中のすべての文字にそれぞれ異なる番号(コード・ポイント)を与え〔符号化文字集合(Coded Character Set)の作成〕、その数値を16ビットで表す方法(文字の符号化、Character Encoding)です。コード・ポイントを16ビットで表すとは、 (1)1文字の処理にコンピュータのメモリを16ビット使う (2)65536(216)種類の文字を表すことができる ということを意味します。これによって、例えば複数の国の見た目が似ている文字を共通のコード・ポイントにして、16ビットで世界中の文字を同時に利用して1つの文書を作成するなど、従来は難しかった多言語の統一的な処理の実現を目指しています。現在では、16ビットだけでなく、「16ビット+16ビット」の組み合わせ(Surrogate Pair、サロゲート・ペア)による文字表現もサポートされており、これはUTF-16と呼ばれています。 仕様を策定・管理しているUnicodeコンソーシアムは、ISO(国際標準化機構)と協調しています。このため、Unicode標準第3版(2000年)で定義しているコード・ポイントは、ISO/IEC 10646-1第2版(2000年)で定めている2種類のUCS(Universal Character Set、国際符号化文字集合)のうち、16ビット(2バイト)のUCS-2のコード・ポイントと一致しています。 UCS-2はBMP(Basic Multilingual Plane、基本多言語面)とも言われ、ISO/IEC 10646-1第1版(1993年)の段階で世界の文字約34000字が規定されています。そのうち、中国(台湾)、日本、韓国の漢字を統合したCJK(Chinese, Japanese and Korean)は20902字を占めていました。 一方、インターネットは、7ビットか8ビットを単位にした文字処理を行っています。このため、インターネットでUnicode文字を扱う(転送する)には、既存の文字符号化方式とUnicodeの文字符号化方式の間で変換を行う必要があり、7ビット環境を前提にしている電子メールではUTF-7(UCS Transfer Format、UCS転送フォーマット)が用いられました〔UTFの現在のスペルはUnicode(またはUCS)Transformation Format、Unicode(またはUCS)変換フォーマット〕。一般的には、Unicodeの1文字(2バイト)を1〜6バイトの可変長バイト列に変換するUTF-8が用いられます(RFC 2279)。