UTF-7

読み:ユーティーエフ・セヴン
外語:UTF-7: Unicode Transformation Format-7 英語
品詞:名詞

Unicodeを7ビット文字で表現できるように変換したもの。RFC 2152(旧RFC 1642)で定義されている。

目次

具体的な変換ロジックはMIMEのbase64とほぼ同等である(一部修正されている)。

RFC 2152は「Unicodeのメールセーフ変換フォーマット」と題されており、修正base64を使用という点からも分かるように、これは電子メールでUnicode文書を安全に送受信するために考案された。

いわゆる文書ファイルなどとして使うことを想定したものではないが、ごく希に使う事もあるらしい。WebブラウザーのFirefox 3、Internet Explorer、ChromiumはUTF-7のHTML文書の表示に対応している。Operaでも対応しているらしいが、使用方法は不明である。

文字集合

  • 集合D (直接符号化文字)

    [A-Za-z0-9'(),-./:?]

  • 集合O (任意直接文字)

    [!"#$%&*;<=>@[]^_`{|}]

  • 集合B (修正base64)

    base64文字集合 (=を除く)

符号化方式

  • 規則1 集合Dと集合Oの文字は、そのまま1オクテットのASCII文字として符号化できる。

    但し、集合Oの文字は環境によっては問題が生じることもあるので、その場合は他の文字と同様の方法で符号化する。

  • 規則2 任意のUnicode文字は、UTF-16BEで表現し、それを修正base64で符号化する。

    base64は、8ビット3文字を6ビット4文字に変換する。UTF-16BEは16ビットなので、Unicode文字1.5文字を集合Bの4文字に変換する。

    前に+を置き、集合Bに無い文字(CRやLFなどを含む)か、-が現われるまで続く。-が現われた場合は、その-を捨てる。

    言い換えると、修正base64で符号化した前後に+と-を付けるが、この符号列の直後が集合Bに含まれない文字の場合は最後の-を省略できる。

    エスケープ文字である+そのものは、+-として表わす。

  • 規則3 一般的な制御文字、SP(U+0020)、HT(U+0009)、LF(U+000a)、CR(U+000d)は、そのまま1オクテットのASCIIで表現される。
  • 古いRFC 1642は、集合Oの`を正しく記載しているが、新しいRFC 2152は'と誤記している(ASCII文字番号は`のまま)。安全のため、'と`は双方ともに集合Oとして扱うのも一つの方法であろう

修正base64

符号化は、基本的にはbase64であるが、パディングの=は使わない。

余ったビット0や、NUL(U+0000)として扱えるものは、それを捨てる。

つまりUTF-7ではNULは表現できないことになる。

用語の所属
UTF
関連する用語
Unicode
UTF-8
UTF-16
UTF-32
base64

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club