(Translated by https://www.hiragana.jp/)
UTF-7 - Wikipedia コンテンツにスキップ

UTF-7

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

UTF-7(ユーティーエフなな、ユーティーエフセブン)はISO/IEC 10646(UCS)とUnicode使つかえる7ビット符号ふごう単位たんい文字もじ符号ふごう形式けいしきおよ文字もじ符号ふごうスキーム

7ビットでしか送信そうしんできない制限せいげんがあるプロトコルじょうのメールやニュースなどの環境かんきょうで、その体系たいけいじょうでUnicodeのメールを送信そうしん可能かのうにするためにつくられた規格きかくである。

現在げんざいではまさしく実装じっそうされていないアプリケーションじょうでセキュリティーじょう脆弱ぜいじゃくせい発生はっせいさせることがあることから、あまり使つかわれなくなっている。

IMAP4では、UTF-7を変更へんこうした規格きかくである修正しゅうせいUTF-7の規格きかくがあり、この規格きかくは2010年代ねんだい現在げんざいにおいては頻繁ひんぱん使用しようされる。

機能きのう

[編集へんしゅう]
  • 62アルファベットと9記号きごう(' ( ) , - . / : ?)はそのまま表記ひょうきする。
  • それ以外いがい文字もじUTF-16ビッグエンディアン符号ふごうし、修正しゅうせいBASE64で符号ふごうする。修正しゅうせいBASE64とは=をれないBASE64エンコーディング形式けいしきである。
  • BASE64の文字もじまえに「+」うしろに「-」をく。
  • 「+」の文字もじ自体じたいは「+-」で表現ひょうげんする。
  • Hello, World!」は「Hello, World!」とそのまま表記ひょうきできる。
  • 1 + 1 = 2」は「1 +- 1 = 2」になる(「+」は「+-」になる)。
  • £1」は「+AKM-1」になる。ポンド記号きごうはU+00A3はBase64表記ひょうきする。あまった2ビットは0でめられる。
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

[編集へんしゅう]

修正しゅうせいUTF-7(Modified UTF-7)はIMAP4で多言たげんのフォルダめい(ディレクトリめい)を使用しようするためにもちいられる規格きかくである。

  • 「&」以外いがい印字いんじ可能かのうなUS-ASCII文字もじかならそのまま表記ひょうきする。
  • それ以外いがい文字もじUTF-16ビッグエンディアン符号ふごうし、修正しゅうせいBASE64で符号ふごうする。
  • BASE64の文字もじまえに「&」うしろに「-」をく。
  • 「&」の文字もじ自体じたいは「&-」で表現ひょうげんする。

この規格きかくは、メールの一般いっぱんてき利用りようにおける、下記かきのような背景はいけい考慮こうりょして導入どうにゅうされた。[1]

  1. UTF-7 は、シフトするために文字もじ "+" をもちいる; これは、メールボックスめいやUSENETニュースグループめいでの "+" のありふれた使用しよう衝突しょうとつする。
  2. UTF-7 の符号ふごうは、文字もじ "/" をもちいる BASE64である; これは、一般いっぱんてき階層かいそう区切くぎりとしての "/" の使用しよう衝突しょうとつする。
  3. UTF-7 は、符号ふごうされない "\" の使用しようきんじている; これは、一般いっぱんてき階層かいそう区切くぎりとしての "\" の使用しよう衝突しょうとつする。
  4. UTF-7 は、符号ふごうされない "~" の使用しようきんじている; これは、いくつかのサーバでホームディレクトリをしめすものとしての "~" の使用しよう衝突しょうとつする。
  5. UTF-7 は、おな文字もじれつ表現ひょうげんするための、複数ふくすうべつ形式けいしきゆるしている; とくに、印字いんじ可能かのうな US-ASCII 文字もじ符号ふごう形式けいしき表現ひょうげんされる。

すなわち修正しゅうせいUTF-7では、電子でんしメールやフォルダめい一般いっぱんにおける頻出ひんしゅつ文字もじ修正しゅうせいBASE64変換へんかんせず、 おおむ平文へいぶんのままむことが可能かのうになる。

関連かんれん項目こうもく

[編集へんしゅう]

出典しゅってん

[編集へんしゅう]
  • RFC 1642
  • RFC 2152
  • RFC 2060修正しゅうせいUTF-7の規格きかく

脚注きゃくちゅう

[編集へんしゅう]
  1. ^ RFC 2060, 5.1.3. メールボックスの国際こくさいてき命名めいめい規則きそく (日本語にほんごやくhttp://www.lins.jp/~obata/imap/rfc/rfc2060ja.html#s5.1.3 より引用いんよう)