プライマリ – スピーディルック百科事典
引用プリント可能 、o QPコーディング 、それは印刷可能な文字を使用するコーディングです(英数字と平等の兆候、 =
)7ビットのみをサポートするプロトコル上の8ビットデータを送信します。これは、インターネット電子メールメッセージで使用されるMIMEコンテンツ転送コンテンツとして定義されます。
序章 [ 編集します ]
インターネット上のメッセージを送信するための基本的なプロトコルであるSMTPは、ASCII文字のみをサポートしています(8bitmimeも参照)。 Mimeは、異なる文字をASCIIに使用する英語以外の言語のテキストを含む、電子メールメッセージに他のタイプの情報を電子メールメッセージに送信するメカニズムを定義します。ただし、これらの成文化は頻繁にASCII範囲外のバイト値を使用するため、メッセージで使用する前にエンコードする必要があります。引用された印刷可能なコーディングは、ASCII文字の任意のバイトシーケンスをマッピング(割り当てる)(割り当て)するために使用される方法の1つです。このコーディングは可逆的です。つまり、元のバイト、したがって非ASCII文字を回復できることを意味します。
引用されたプリンテブルとBase64は、MIMEの2つの基本的な成文化です。入力テキストのほとんどがASCIIである場合、引用符で囲まれたコーディングの結果は非常に読みやすくコンパクトです。一方、入り口の主にキャラクターで構成されている場合、結果はより理解できず、非常に非効率的になります。基本コーディング64は、引用プリント可能とは異なり、読み取り可能ではありませんが、データに対して予測可能な実行オーバーロードがあり、ラテン語のアルファベットに基づいていない言語のバイナリ形式またはテキストのデータに最も推奨されるオプションです。
引用された印刷可能なコーディング [ 編集します ]
すべてのオクテットは、3つの文字でエンコードできます:標識「=」に続く2つの16進数(0〜9またはA -F)が続くことは、オクテットの数値(バイト)の数値を表すのに十分です。たとえば、ASCII文字 フォームフィード (小数値は12です)は「= 0c」で表すことができ、ASCII平等(小数値は61)の兆候は「= 3D」で表されます。 ASCIIの印刷可能な文字または行の終わりを除くすべての文字は、同様の方法でコーディングする必要があります。
すべてのASCII印刷可能な文字、つまり33〜126の小数値を持つ文字は、それ自体で表現できますが、 =
(小数値61の)。
ASCII文字 集計 と 空 (それぞれ小数値9と32を使用すると)、ラインの最後に表示されることを除いて、それらを表すことができます。これが起こった場合、それらは「= 09」としてエンコードする必要があります。 集計 o “= 20” 空 。
データコーディングにラインリターン文字が含まれており、この意味を維持する場合は、元のバイト値としてではなく、ASCII CR LFシーケンスとしてエンコードする必要があります。それどころか、10および13の価値バイトがラインリターンに対して異なる意味を持つ場合、それぞれ= 0a y = 0dとしてエンコードする必要があります。
引用されたプリントでエンコードされたデータ行は、長さとして76文字を超えることはできません。コード化されたテキストを変更せずにこの要件を満たすために、それらを追加できます ソフトラインの変更 必要に応じて。ソフトラインの変更は、コード化された行の終わりに「=」で構成され、デコードされたテキストに行の変更を引き起こしません。
プログラムの例 [ 編集します ]
電子メールとHTTPプロトコルの両方で、このインターネットコーディングの使用が拡張されているため、多くの言語の多くの標準ライブラリには、引用プリント可能なエンコードとデコードのサポートが含まれます。以下は、Pythonで書かれた例です
>>> 輸入 クオプリオ >>> 文章 = 「QPコーディングテスト!」 >>> Textocodified = クオプリオ 。 encodestring ( 文章 )) >>> Textocodified 「コーディングテスト= C3 = B3N QP!」 >>> クオプリオ 。 デコードリング ( Textocodified )) 「QPコーディングテスト!」
外部リンク [ 編集します ]
参照してください [ 編集します ]
参照 [ 編集します ]
Recent Comments