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

Quoted-printable

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

Quoted-printableQP encodingともばれる)は、印字いんじ可能かのう文字もじ(たとえば、英数字えいすうじ等号とうごう=」)を使用しようした符号ふごう方式ほうしきであり、8ビットデータを7ビットデータパスで転送てんそうするためのものである。インターネット電子でんしメール使用しようできるようにするため、Content-Transfer-Encoding として定義ていぎされている。

概要がいよう

[編集へんしゅう]

基本きほんてきなインターネット電子でんしメール転送てんそうプロトコルであるSMTPでは、ASCII文字もじのみがサポートされている(えい: 8-bit clean)。MIMEでは、電子でんしメールでASCII文字もじ以外いがい情報じょうほう送信そうしんするためのメカニズムを定義ていぎしている。これには、文字もじれつちゅう英語えいご使つかわれない文字もじふくまれる場合ばあいに、ASCII以外いがい文字もじ符号ふごう方式ほうしき使用しようしてあつかうことがふくまれる。しかしながら、これらの文字もじ符号ふごう方式ほうしきではASCII範囲はんいがい頻繁ひんぱん使用しようされるので、電子でんしメールで適切てきせつ使用しようできるようにするためには、さらに符号ふごうする必要ひつようがある。Quoted-printable符号ふごう方式ほうしきは、任意にんいのバイト一連いちれんASCII文字もじ変換へんかんするための方式ほうしきである。この符号ふごう方式ほうしき可逆かぎゃく変換へんかんであり、符号ふごうされたバイトあらわもとのバイト、つまりASCII文字もじ復元ふくげんすることができる。

Quoted-printableBase64は、2つの基本きほんてきMIME Content-Transfer-Encoding である。入力にゅうりょく文字もじれつのほとんどがASCII文字もじである場合ばあいは、Quoted-printable符号ふごうした結果けっかをほとんどそのままむことができ、データサイズもちいさくなる。一方いっぽう入力にゅうりょく文字もじれつのほとんどがASCIIではない場合ばあいは、Quoted-printable使用しようしてもそのままむことはできず、サイズ効率こうりつ非常ひじょうわるい。Base64はそのままめる方式ほうしきではないが、どのようなデータにたいしてでもサイズ効率こうりつ一定いっていである。それで、バイナリー形式けいしきデータやラテン文字もじではない言語げんごたいしては、Base64選択せんたくするのが道理どうりにかなっている。

電子でんしメールクライアントによっては、Quoted-printable文字もじれつ復号ふくごうするときに、行末ゆくすえにドットがあると誤動作ごどうさする場合ばあいがある。

Quoted-printableの符号ふごう

[編集へんしゅう]

任意にんいの8 ビットバイトは、3文字もじ符号ふごうしてよい。これは、「=」のうしろにそのバイトの数値すうちあらわす2けたの16進数しんすう文字もじ(0から9またはAからF)をけたものである。たとえば、US-ASCIIあらためページ(NP文字もじ(10進数しんすうで12)は「=0C」とあらわされる。また、US-ASCII等号とうごう(10進数しんすうで61)は「=3D」になる。印字いんじ可能かのうASCII文字もじ以外いがいのすべての文字もじ、および改行かいぎょう文字もじはこのようにして符号ふごうしなければならない。

すべての印字いんじ可能かのうASCII文字もじ(10進数しんすうで33から126)はそのまま変換へんかんなしにあらわしてよい。ただし、「=」(10進数しんすうで61)だけは例外れいがいである。

ASCIIのタブ文字もじ(10進数しんすうで9)およびスペース文字もじ(10進数しんすうで32)はそのまま変換へんかんなしにあらわしてよいが、行末ゆくすえあらわれた場合ばあいだけは例外れいがいである。これらの文字もじ行末ゆくすえあらわれた場合ばあいは「=09」(タブ)および「=20」(スペース)に符号ふごうされることになる。

テキストちゅうくだりわりを意味いみするバイトれつは、MS-DOSMicrosoft Windows では「CRLF」、UNIXLinux では「LF」、だい9はんまでのふるMacOSMicroware OS-9 では「CR」であるなど、システムによってことなるが、それらはまとめて「改行かいぎょう」とばれる。符号ふごう処理しょりちゅうのテキストの改行かいぎょうは Quoted-Printable 符号ふごうでは、それがテキストデータであることを前提ぜんていとする場合ばあいには、システムのちがいに無関係むかんけいに ASCIIの「CRLF」のなら対応たいおうさせるまりである。 Quoted-Printable 符号ふごうの「CRLF」をテキストにもど場合ばあいには、システムがそれぞれの改行かいぎょう意味いみするバイトれつ復号ふくごうしなければならない。

改行かいぎょうともなうテキストの符号ふごうふくごうれい
符号ふごうまえふるいMacOS など) Quoted-printable 符号ふごう 復号ふくごう(UNIX など)
Sell in MayCRand go away.CR Sell in MayCRLFand go away.CRLF Sell in MayLFand go away.LF

符号ふごう処理しょりするデータのなかの「CR」をふくあいも「CR」にさせたり、符号ふごう処理しょりするデータのなかの「LF」をふくあいも「LF」にさせたい場合ばあいには、 Quoted-Printable 符号ふごうには、それぞれ、「CR」は「=0D」に、「LF」は「=0A」に符号ふごうしなければならない。

Quoted-printable符号ふごうしたデータのくだりは、76文字もじえてはならない。符号ふごうした文字もじれつ変換へんかんせずにこの要件ようけんたすため、必要ひつようおうじてソフト改行かいぎょう追加ついかされる。ソフト改行かいぎょう符号ふごう行末ゆくすえに「=」がかれたものであり、復号ふくごうした文字もじれつには改行かいぎょうあらわれない。

参照さんしょう

[編集へんしゅう]
  • RFC 1521 (obsolete)
  • RFC 2045 (MIME)