June 2024
Intermediate to advanced
864 pages
12h 14m
Japanese
ネットワーク上を流れるのはバイトのストリームであり、ネットワーク用語ではオクテットとも呼ばれる。もちろん、いくつかの可能なエンコーディングのいずれかを使えば、バイトをテキストとして表すことができる。しかし、ネットワーク経由で送信したいものが、単なるテキストやバイトのストリーム以上の構造を持つこともよくある。MIME(Multipurpose Internet Mail Extensions)†1などのエンコーディング規格は、構造化データをバイトまたはテキストとして表す方法を規定することで、そのギャップを埋める。そうしたエンコーディングの多くは、元々は電子メール用に設計されたものだが、Webやその他多くのネットワークシステムでも使われている。Pythonは、base64、quopri、uuなどのライブラリモジュール(21.2節)と、emailパッケージのモジュール(21.1節)を通じて、そうしたエンコーディングをサポートしている。これらのエンコーディングを利用すると、あるエンコーディング方式でメッセージを作成し、別のエンコーディング方式のファイルを添付するといった作業をシームレスに行えるようになり、その途中にあるやっかいな作業の多くを行わずに済む。
emailパッケージは、電子メールメッセージ、NNTP(Network News Transfer Protocol)による送信、HTTPでのやり取りなど、MIMEファイルの解析、生成、操作を扱う。Pythonの標準ライブラリには、こうした作業の一部に対処する他のモジュールも含まれている。ただし、こうした重要なタスクに対して完全かつ体系的なアプローチを提供するのは ...