C#.NET
string filename = @"c:\mail.txt";
TKMP.Reader.MailReader reader = new TKMP.Reader.MailReader(filename , false);
reader.EncodeCharset = "iso-2022-jp";
string text_jis = reader.MainText;
reader.EncodeCharset = "sjis";
string text_sjis = reader.MainText;
reader.EncodeCharset = "euc-jp";
string text_euc = reader.MainText;
reader.EncodeCharset = "utf-8";
string text_utf8 = reader.MainText;
VB.NET
Dim filename As String = "c:\mail.txt"
Dim reader As New TKMP.Reader.MailReader(filename, False)
reader.EncodeCharset = "iso-2022-jp"
Dim text_jis As String = reader.MainText
reader.EncodeCharset = "sjis"
Dim text_sjis As String = reader.MainText
reader.EncodeCharset = "euc-jp"
Dim text_euc As String = reader.MainText
reader.EncodeCharset = "utf-8"
Dim text_utf8 As String = reader.MainText
VB.NETのコードはC#.NETを元に「
C#.NET to VB.NET Translator」によって作成したものです
TKMP.Reader.MailReaderクラスは通常ヘッダー情報に元に文字コードの変換を行うので、 文字化けが発生した場合は、明示的に文字コードを変更する必要があり、 その場合に使用するのがEncodeCharsetプロパティになります。
次のサンプルでは、filenameから取得したメール情報をJIS、Shift-JIS、EUC、UTF-8でデコードしています。
文字コード自体を自動判別する方法は、TKMP.DLLと離れるのでコード自体は記述しません。 私は、「G-PROJECT」さんで公開している情報を元に、 自分専用ライブラリを作成して、それを使っています。 その他でも文字コードの自動判別は多数見かけますが、そのときに必要となるバイト配列は TKMP.Reader.MailReaderクラスのMainDataプロパティより取得可能なので、 一度挑戦してみてください。