UTF-7とは、7ビットのASCII文字だけの使用が前提の電子メールでUnicode、あるいは、UCSを扱うためのエンコード方式である。
UTF-7の基本的な考え方は、ASCIIとそれ以外のコードをシフトシーケンスによって切り替えることにある。そのためのシフト文字として、「+」と「-」の2文字が割り当てられている。Unicodeは、シフト文字「+」から始めてBASE64でエンコードする。また、「-」はBASE64エンコードの終了宣言に使われる。
なお、RFC 2152においても電子メールのような7ビットの通信手段に限り使用すべきとされ、一般的には推奨されていない。実際にも、ほとんど使用されていない規格である。
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/03 14:19 UTC 版)
| Unicode |
|---|
| 文字符号化スキーム |
| UTF-7 |
| UTF-8 |
| CESU-8 |
| UTF-16 |
| UTF-32 |
| UTF-EBCDIC |
| SCSU |
| Punycode (IDN/IDNA) |
| GB 18030 |
| その他 |
| UCS |
| マッピング |
| 書字方向 |
| BOM |
| 漢字統合 |
| UnicodeとHTML |
| Unicodeと電子メール |
| Unicodeフォント |
UTF-7(ユーティーエフなな、ユーティーエフセブン)はISO/IEC 10646(UCS)とUnicodeで使える7ビット符号単位の文字符号化形式及び文字符号化スキーム。
7ビットでしか送信できない制限があるプロトコル上のメールやニュースなどの環境で、その体系上でUnicodeのメールを送信可能にするために作られた規格である。
現在では正しく実装されていないアプリケーション上でセキュリティー上の脆弱性を発生させることがあることから、あまり使われなくなっている。
IMAP4では、UTF-7を変更した規格である修正UTF-7の規格があり、この規格は2010年代現在においては頻繁に使用される。
| Hex digit | 0 | 0 | A | 3 | ||||||||||||||
| Bit pattern | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
| Index | 0 | 10 | 12 | |||||||||||||||
| Base64-Encoded | A | K | M | |||||||||||||||
「£†」(U+00A3 U+2020)の場合
£ ≡ 0x00A3 |
0000 0000 1010 0011 |
UTF-16BEによる文字コードのビット表記 |
†≡ 0x2020 |
0010 0000 0010 0000 |
|
£† |
0000000010100011 0010000000100000 |
文字列「£†」のビット表記(順に連結) |
0000000010100011 0010000000100000 |
000000 001010 001100 100000 001000 00 |
上位から6ビット毎の区切りで分割 |
000000 001010 001100 100000 001000 00 |
000000 001010 001100 100000 001000 000000 |
最下位も6ビットになる様に0で埋める |
000000 001010 001100 100000 001000 000000 |
AKMgIA |
base64の変換表に従いエンコード |
AKMgIA |
000000 001010 001100 100000 001000 000000 |
base64の変換表に従いデコード |
000000 001010 001100 100000 001000 000000 |
0000000010100011 0010000000100000 0000 |
上位から16ビット毎の区切りで分割 |
0000000010100011 0010000000100000 0000 |
0000000010100011 0010000000100000 |
最下位の0が連続するビット列は削除 |
0000 0000 1010 0011 |
0x00A3 ≡ £ |
16ビット毎にUTF-16BEの文字コードとして解釈 |
0010 0000 0010 0000 |
0x2020 ≡† |
|
0000000010100011 0010000000100000 |
£† |
デコード結果 |
修正UTF-7(Modified UTF-7)はIMAP4で多言語のフォルダ名(ディレクトリ名)を使用するために用いられる規格である。
この規格は、メールの一般的な利用における、下記のような背景を考慮して導入された。[1]
すなわち修正UTF-7では、電子メールやフォルダ名一般における頻出文字を修正BASE64変換せず、 概ね平文のまま読むことが可能になる。