quoted-printable 【QP encoding】
概要
quoted-printable(QP encoding)とは、バイナリを含む任意のデータを7ビットASCIIコードの文字(いわゆる半角英数字など)の文字列に変換する方式を定めた標準の一つ。いわゆる8ビット文字を含む電子メールを送受信するために考案された。電子メールの送受信メッセージはASCII文字(オリジナルの7ビット符号)で表す仕様であるため、ISO-8859など追加の8ビット目を用いて言語固有の文字(発音記号などが付いた文字、ギリシャ文字、キリル文字など)を収録したヨーロッパの文字コードなどはそのまま使用することができない。
このような場合に、ASCII文字はそのまま記述し、ASCIIの制御コードとASCIIの範囲外の文字やバイナリデータは特定のASCII文字列で置き換え(エンコード)て混在させる記法がquoted-printableである。英数字など表示可能なASCII文字、スペース、タブ文字、改行文字以外は1バイトごとに「=2桁の16進表記」に置き換える。
例えば、「=C0」と表記すれば16進数でC0(10進数で192)の1バイトの値を表す。ASCII文字でも「=」だけはコード(61番)を用いて「=3D」としなければならない。スペースやタブが行末に来る場合はそれぞれ「=20」「=09」で置き換えなければならない。1行は76文字以下と定められているため、長い行は76文字ごとに改行し、行末には次行と連結していることを表す「=」を置く。
ASCII英数字と言語固有の文字が混在することが多い欧州の言語の文字列を効率よくASCII符号化することができ、元の状態に復元(デコード)しなくてもASCII部分はそのまま読み取れる利点がある。文字コードやデータ形式を適切に指定すれば、日本語など多バイトの文字コードや任意のバイナリデータの符号化にも利用できるが、1バイトをASCII文字3文字で表すため効率はあまり良くない。
(2022.7.4更新)