VMime Book 日本語訳 第4章 4.7
2020-07-01 K.OHWADA
原文
VMime Book: A Developer’s Guide To VMime
https://www.vmime.org/public/documentation/book/vmime-book.pdf
第4章 基本
Basics
4.7 文字セットおよび変換
Character sets, charsets, and conversions
RFC-2278からの引用:
「「文字セット」という用語は、オクテットのシーケンスを文字のシーケンスに変換する方法を指すために使用されます。」
vmime :: charset オブジェクトを使用すると、VMime は、ほとんどすべての既存のプラットフォームで使用できる iconv ライブラリを使用した文字セット間の変換をサポートします。
文字セット変換の詳細については、クラスのドキュメントのvmime :: charset および vmime :: charsetConverter を参照してください。
次の例は、ある文字セットのデータを別の文字セットに変換する方法を示しています。
データはメッセージの本文から抽出され、UTF-8文字セットに変換されます。
リスト4.11:本文の内容を抽出して指定した文字セットに変換する
Extracting and converting body contents to a specified charset
vmime:::shared_ptr <vmime: : message> msg; // we have a message // Obtain the content handler first vmime::shared_ptr <vmime::body> body = msg->getBody(); vmime::shared_ptr <const vmime::contentHandler> cth = body->getContents(); // Then, extract and convert the contents vmime::utility::outputStreamAdapter out(std::cout); vmime::utility::charsetFilteredOutputStream fout (/* source charset */ body->getCharset(), /* dest charset */ vmime::charset("utf−8"), /* dest stream */ out); cth−>extract(fout); fout.flush(); // Very important!