Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonを使用してMIMEquoted-printableデータをエンコードおよびデコードします


多くの場合、通常のASCII文字が常に含まれているとは限らないデータを処理する必要があります。たとえば、英語以外の別の言語の電子メール。 Pythonには、MIME(Multipurpose Internet Mail Extensions)ベースのモジュールを使用してこのような文字を処理するメカニズムがあります。この記事では、そのような文字を電子メールやその他の入力でデコードする方法を説明します。

メールパッケージの使用

電子メールパッケージには、以下の例に示すように、エンコードとデコードの作業を実行できるmimeとcharsetというモジュールが含まれています。 Unicode文字を含む電子メールメッセージを取得し、それをutf-8にエンコードしました。

 import email.mime、email.mime.nonmultipart、email.charsetmsg =email.mime.nonmultipart.MIMENonMultipart('text'、'plain'、charset ='utf-8')#​​新しいcharsetcs=emailを作成します。 charset.Charset('utf-8')cs.body_encoding =email.charset.QP#新しいcharsetmsg.set_payload(u'これはünicödeを含むテキストです'、charset =cs)print(msg) 

上記のコードを実行すると、次の結果が得られます-

出力

 Content-Type:text / plain; charset ="utf-8" MIME-Version:1.0Content-Transfer-Encoding:quoted-printableこれは=C3 =BCnic =C3 =B6de
を含むテキストです

クォープリの使用

このPythonモジュールは、quoted-printableトランスポートのエンコードとデコードを実行します。 quoted-printableエンコーディングは、印刷不可能な文字が比較的少ないデータ用に設計されています。次の例では、非正規ASCII文字を使用して文字列をエンコードおよびデコードする方法を示しています。

 import quopristr1 ='äé'#encoded =quopri.encodestring('äé'.encode(' utf-8'))encoded =quopri.encodestring(str1.encode(' utf-8'))print(encoded) str2 ='=C3 =A4 =C3 =A9'decoded_string =quopri.decodestring(str2)print(decoded_string.decode('utf-8'))

上記のコードを実行すると、次の結果が得られます-

出力

 b'=C3 =A4 =C3=A9'äé

  1. Pythonでのデータ分析と視覚化?

    Pythonは、主にnumpy、pandas、matplotlib、seabornなどのデータ分析と視覚化のための多数のライブラリを提供します。このセクションでは、numpyの上に構築されたオープンソースライブラリであるデータ分析と視覚化のためのpandasライブラリについて説明します。 これにより、迅速な分析とデータのクリーニングと準備を行うことができます。Pandasには、以下で説明する多数の組み込みの視覚化機能も用意されています。 インストール パンダをインストールするには、ターミナルで以下のコマンドを実行します- pipinstall pandas Orweにはanacondaが

  2. Pythonを使用したBase64データエンコーディング

    base64モジュールの関数は、バイナリデータをプレーンテキストプロトコルを使用した送信に適したASCIIのサブセットに変換します。 エンコーディングおよびデコーディング機能は、Base16、Base32、およびBase64アルゴリズムを定義するRFC 3548の仕様と、デファクトスタンダードのAscii85およびBase85エンコーディングの仕様を実装します。 RFC 3548エンコーディングは、バイナリデータのエンコーディングに適しており、電子メールで安全に送信したり、URLの一部として使用したり、HTTPPOSTリクエストの一部として含めたりすることができます。 このモジュールによっ