4

Pythonのimaplibを使用してGmailアカウントからメールをプルしました...しかし、この紛らわしいテキスト本文を含むメールを受け取りました。

> RGF0ZSBldCBoZXVyZTogICAgICAgICAgICAgICAgICAgICAgICAgICAyMi8wOC8yMDEwIDE0
> OjMzOjAzIEdNVCBVbmtub3duDQpQcsOpbm9tOiAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgamFjaW50bw0KTm9tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICBjYXJ2YWxobw0KRS1NYWlsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg

私の電子メールからこのファイルを読むのを手伝ってくれる人...

どうも

lo

4

3 に答える 3

14

base64のように見えます。Pythonでは、base64.b64decodeまたはを使用できますstr.decode('base64')

message = '''
RGF0ZSBldCBoZXVyZTogICAgICAgICAgICAgICAgICAgICAgICAgICAyMi8wOC8yMDEwIDE0
OjMzOjAzIEdNVCBVbmtub3duDQpQcsOpbm9tOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgamFjaW50bw0KTm9tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjYXJ2YWxobw0KRS1NYWlsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
'''

print message.decode('base64')

結果:

日付と時間:2010年8月22日14:33:03GMT不明
プレノム:ジャシント
ノム:カルヴァリョ
Eメール:

é間違っているようです。テキストはUTF-8でエンコードされているようです。そのため、UTF-8エンコードもデコードする必要があります。

print message.decode('base64').decode('utf-8')

結果:

..。
プレノム:
..。

もう1つ注意しなければならないのは、値62と63に使用する2つの記号が異なるBase64エンコーディングのさまざまなバリエーションがあることbase64.b64decodeです。デフォルトが機能しない場合は、これら2つの文字を使用して指定できます。

于 2010-08-22T18:49:11.067 に答える
1

マークはほとんど正しいですが\uc3a9、「Prénom」で証明されているようにUTF-8でエンコードされています。

(そして、なぜ私が適切なデコードを取得し、Markが同じコードを取得しないのかを理解しようとしていますが、それは別の問題です。)

于 2010-08-22T19:04:43.260 に答える
1

Base-64UTF-8です。この特定のテキストは言う:

Date et heure:                           22/08/2010 14:33:03 GMT Unknown
Prénom:                                   jacinto
Nom:                                     carvalho
E-Mail:                                
于 2010-08-22T19:07:22.190 に答える