2012-09-27T21:21:52の更新内容

works/libs/Smdn.Formats.Mime/index.wiki.txt

current previous
36,16 36,13
 

        

        
 
public class ReadMail {
public class ReadMail {
 
  public static void Main(string[] args) {
  public static void Main(string[] args) {
+
    // 電子メール形式のファイルsample.emlを読み込む
 
    var mail = Mail.Load("sample.eml");
    var mail = Mail.Load("sample.eml");
 

        

        
+
    // 各ヘッダのデコード済みの値を表示
 
    Console.WriteLine("From: {0}", mail.From);
    Console.WriteLine("From: {0}", mail.From);
 
    Console.WriteLine("Date: {0}", mail.Date);
    Console.WriteLine("Date: {0}", mail.Date);
 
    Console.WriteLine("Subject: {0}", mail.Subject);
    Console.WriteLine("Subject: {0}", mail.Subject);
 
    Console.WriteLine();
    Console.WriteLine();
 

        

        
+
    // メールの本文を文字列として取得して表示
 
    Console.WriteLine(mail.ReadContentAsText());
    Console.WriteLine(mail.ReadContentAsText());
 
  }
  }
 
}
}
57,23 54,143
 

        

        
 
Public Class ReadMail
Public Class ReadMail
 
  Public Shared Sub Main()
  Public Shared Sub Main()
+
    ' 電子メール形式のファイルsample.emlを読み込む
 
    Dim mail As Mail = Mail.Load("sample.eml")
    Dim mail As Mail = Mail.Load("sample.eml")
 

        

        
+
    ' 各ヘッダのデコード済みの値を表示
 
    Console.WriteLine("From: {0}", mail.From)
    Console.WriteLine("From: {0}", mail.From)
 
    Console.WriteLine("Date: {0}", mail.Date)
    Console.WriteLine("Date: {0}", mail.Date)
 
    Console.WriteLine("Subject: {0}", mail.Subject)
    Console.WriteLine("Subject: {0}", mail.Subject)
 
    Console.WriteLine()
    Console.WriteLine()
 

        

        
+
    ' メールの本文を文字列として取得して表示
 
    Console.WriteLine(mail.ReadContentAsText())
    Console.WriteLine(mail.ReadContentAsText())
 
  End Sub
  End Sub
 
End Class
End Class
 
}}
}}
 
#tabpage-end
#tabpage-end
 

        

        
~
詳細・その他のサンプルコードは[[works/libs/Smdn.Formats.Mime/docs]]をご覧ください。 また、本ライブラリを使用したサンプルアプリケーション[[works/tools/junk/SimpleMailer]]もあわせてご覧ください。
Qエンコードされた文字列のデコード・エンコードを行う例。
-
#tabpage(C#)
-
#code(cs){{
-
using System;
-
using System.Text;
-
using Smdn.Formats.Mime;
-

          
-
public class QEncode {
-
  public static void Main(string[] args) {
-
    var text = "=?iso-2022-jp?q?=1B$B%5%s%W%k=1B(B?=";
-
    var decoded = MimeEncoding.Decode(text);
-

          
-
    Console.WriteLine("'{0}' => '{1}'", text, decoded);
-

          
-
    var encoded = MimeEncoding.Encode(decoded, MimeEncodingMethod.QEncoding, Encoding.GetEncoding("ISO-2022-JP"));
-

          
-
    Console.WriteLine("'{0}' => '{1}'", decoded, encoded);
-
  }
-
}
-
}}
-
#tabpage(VB)
-
#code(vb){{
-
Imports System
-
Imports System.Text
-
Imports Smdn.Formats.Mime
-

          
-
Public Class QEncode
-
  Public Shared Sub Main()
-
    Dim text As String = "=?iso-2022-jp?q?=1B$B%5%s%W%k=1B(B?="
-
    Dim decoded As String = MimeEncoding.Decode(text)
-

          
-
    Console.WriteLine("'{0}' => '{1}'", text, decoded)
-

          
-
    Dim encoded As String = MimeEncoding.Encode(decoded, MimeEncodingMethod.QEncoding, Encoding.GetEncoding("ISO-2022-JP"))
-

          
-
    Console.WriteLine("'{0}' => '{1}'", decoded, encoded)
-
  End Sub
-
End Class
-
}}
-
#tabpage-end
-

          
-
emlファイルを読み込んでヘッダの一覧とボディの内容を表示する例。
-
#tabpage(C#)
-
#code(cs){{
-
using System;
-
using Smdn.Formats.Mime;
-

          
-
public class ReadMail {
-
  public static void Main(string[] args) {
-
    var message = MimeMessage.Load("sample.eml");
-

          
-
    Dump(message, 0);
-
  }
-

          
-
  private static void Dump(MimeMessage message, int nest)
-
  {
-
    var indent = new string(' ', nest * 4);
-

          
-
    DumpHeaders(message, indent);
-

          
-
    Console.Write(indent);
-

          
-
    if (message.MimeType.TypeEquals("text"))
-
      Console.WriteLine(message.ReadContentAsText());
-
    else
-
      Console.WriteLine(message.MimeType);
-

          
-
    foreach (var part in message.SubParts) {
-
      Console.WriteLine();
-

          
-
      Dump(part, nest + 1);
-
    }
-
  }
-

          
-
  private static void DumpHeaders(MimeMessage message, string indent)
-
  {
-
    foreach (var header in message.Headers) {
-
      Console.WriteLine("{0}{1}: {2}", indent, header.Name, header.Value);
-
    }
-
  }
-
}
-
}}
-
#tabpage(VB)
-
#code(vb){{
-
Imports System
-
Imports Smdn.Formats.Mime
-

          
-
Public Class ReadMail
-
  Public Shared Sub Main(ByVal args As String())
-
    Dim message As MimeMessage = MimeMessage.Load("sample.eml")
-

          
-
    Dump(message, 0)
-
  End Sub
-

          
-
  Private Shared Sub Dump(ByVal message As MimeMessage, ByVal nest As Integer)
-
    Dim indent As String = New String(" "c, nest * 4)
-

          
-
    DumpHeaders(message, indent)
-

          
-
    Console.Write(indent)
-

          
-
    If message.MimeType.TypeEquals("text") Then
-
      Console.WriteLine(message.ReadContentAsText())
-
    Else
-
      Console.WriteLine(message.MimeType)
-
    End If
-

          
-
    For Each part As MimeMessage In message.SubParts
-
      Console.WriteLine()
-

          
-
      Dump(part, nest + 1)
-
    Next
-
  End Sub
-

          
-
  Private Shared Sub DumpHeaders(ByVal message As MimeMessage, ByVal indent As String)
-
    For Each header As MimeHeader In message.Headers
-
      Console.WriteLine("{0}{1}: {2}", indent, header.Name, header.Value)
-
    Next
-
  End Sub
-
End Class
-
}}
-
#tabpage-end
-

          
-
本ライブラリを使用したサンプルアプリケーション[[works/tools/junk/SimpleMailer]]もあわせてご覧ください。
 

        

        
 
*不具合・要望・質問等
*不具合・要望・質問等
 
不具合の報告、ライブラリに対する要望や提案、使い方の質問などは[[掲示板>misc/forum/libs]]へどうぞ。
不具合の報告、ライブラリに対する要望や提案、使い方の質問などは[[掲示板>misc/forum/libs]]へどうぞ。

works/libs/Smdn.Formats.Mime/docs/index.wiki.txt

current previous
1,419 0,0
+
${smdncms:title,ドキュメント・サンプル}
+
${smdncms:keywords,}
+
${smdncms:document_versions,codelang=cs,codelang=vb}
+
${pragma,parser-options,non-limited-list}
+
[[works/libs/Smdn.Formats.Mime]]のドキュメントとサンプルです。 ここに記載されているものはversion 0.30時点のもので、記載不備などがあるかもしれません。
+

          
+
ご質問などありましたら[[掲示板>misc/forum/libs]]へどうぞ。
+

          
+
#googleadunit(banner)
+

          
+
*ライブラリの構成
+
**アセンブリ構成 [#assemblies]
+
本ライブラリはいくつかのアセンブリに分かれています。
+
|*アセンブリに含まれる型と用途
+
|~アセンブリ|~含まれる型|h
+
|Smdn.dll|他のアセンブリで共通して使用される型、ユーティリティクラス、.NET Framework 4.x, 3.x互換の型など|
+
|Smdn.Core.Standards.dll|MIMEエンコード/デコード、URLエンコード/デコード等の標準に関するクラス群 ([[works/libs/Smdn.Net.Imap4.Client]]・[[works/libs/Smdn.Net.Pop3.Client]]と共用)|
+
|Smdn.Formats.Mime.dll|MIMEメッセージのパース・デコード機能を含むクラス郡|
+

          
+
本ライブラリを使用する場合は、上記アセンブリへの参照を追加してください。
+

          
+
**主なクラス・型
+
本ライブラリに含まれる主な型と用途は次のとおりです。
+

          
+
|*Smdn.Formats.Mime名前空間の型
+
|~型|~用途|~アセンブリ|h
+
|MimeMessageクラス|MIMEメッセージを読み込んでパース・デコードを行うクラス。 マルチパートメッセージでは、一つ一つのパートがMimeMessageとして分解された入れ子構造となります。|Smdn.Formats.Mime.dll|
+
|Mailクラス|MimeMessageクラスをラップして、From/To/Subjectなどのヘッダの参照等をより簡単に行えるようにしたクラス。|Smdn.Formats.Mime.dll|
+
|MimeHeaderNamesクラス|よく使われるヘッダ名(Content-Type等)を定数としてまとめたクラス。|Smdn.Formats.Mime.dll|
+
|Charsetsクラス|よく使われる文字セットを定数としてまとめたクラス。 また、文字セット名から対応するSystem.Text.Encodingを検索するためのメソッドも実装しています。|Smdn.Formats.Mime.dll|
+
|ContentTransferEncodingクラス|転送エンコーディング(Content-Transfer-Encoding)でエンコードされた本文のデコードを行うためのStream/StreamReader/BinaryReaderを作成するクラス。|Smdn.Core.Standards.dll|
+
|MimeEncodingクラス|MIMEヘッダエンコーディング(MIME-Encoding)で文字列をエンコード・デコードするためのクラス。|Smdn.Core.Standards.dll|
+

          
+
|*Smdn.Formats.Mime.Formatting名前空間の型
+
|~型|~用途|~アセンブリ|h
+
|MimeMessageBuilderクラス|MIMEメッセージの組立・エンコードを行うクラス。|Smdn.Formats.Mime.dll|
+
|MimeHeaderBuilderクラス|MIMEヘッダの組立・エンコードを行うクラス。|Smdn.Formats.Mime.dll|
+
|MimeFormat|メッセージ組立時の折り返し文字数・改行文字などの書式を定義するクラス。|Smdn.Formats.Mime.dll|
+

          
+
version 0.30時点ではSmdn.Formats.Mime.Formatting名前空間のクラスは実装・動作検証が不十分です。 また、今後のバージョンで大きな変更を行う可能性もあります。
+

          
+

          
+

          
+
#hr
+

          
+

          
+

          
+
*サンプルコード [#samples]
+
**Mailクラス
+
emlファイルを読み込んで件名・差出人・日付と本文を表示する例。
+

          
+
#tabpage(C#)
+
#code(cs){{
+
using System;
+
using Smdn.Formats.Mime;
+

          
+
class Sample {
+
  public static void Main(string[] args) {
+
    // 電子メール形式のファイルsample.emlを読み込む
+
    var mail = Mail.Load("sample.eml");
+

          
+
    // 各ヘッダのデコード済みの値を表示
+
    Console.WriteLine("From: {0}", mail.From);
+
    Console.WriteLine("Date: {0}", mail.Date);
+
    Console.WriteLine("Subject: {0}", mail.Subject);
+
    Console.WriteLine();
+

          
+
    // メールの本文を文字列として取得して表示
+
    Console.WriteLine(mail.ReadContentAsText());
+
  }
+
}
+
}}
+
#tabpage(VB)
+
#code(vb){{
+
Imports System
+
Imports Smdn.Formats.Mime
+

          
+
Class Sample
+
  Public Shared Sub Main()
+
    ' 電子メール形式のファイルsample.emlを読み込む
+
    Dim mail As Mail = Mail.Load("sample.eml")
+

          
+
    ' 各ヘッダのデコード済みの値を表示
+
    Console.WriteLine("From: {0}", mail.From)
+
    Console.WriteLine("Date: {0}", mail.Date)
+
    Console.WriteLine("Subject: {0}", mail.Subject)
+
    Console.WriteLine()
+

          
+
    ' メールの本文を文字列として取得して表示
+
    Console.WriteLine(mail.ReadContentAsText())
+
  End Sub
+
End Class
+
}}
+
#tabpage-end
+

          
+

          
+

          
+
**MimeMessageクラス
+
emlファイルを読み込んでヘッダの一覧とボディの内容を表示する例。
+
#tabpage(C#)
+
#code(cs){{
+
using System;
+
using Smdn.Formats.Mime;
+

          
+
class Sample {
+
  public static void Main(string[] args) {
+
    // sample.emlを読み込む
+
    var message = MimeMessage.Load("sample.eml");
+

          
+
    // 内容を表示する
+
    Dump(message, 0);
+
  }
+

          
+
  private static void Dump(MimeMessage message, int nest)
+
  {
+
    var indent = new string(' ', nest * 4);
+

          
+
    // 個々のヘッダの内容を表示
+
    DumpHeaders(message, indent);
+

          
+
    Console.Write(indent);
+

          
+
    // 本文がテキスト形式の場合は、本文を読み込んで表示
+
    if (message.MimeType.TypeEquals("text"))
+
      Console.WriteLine(message.ReadContentAsText());
+
    else
+
      Console.WriteLine(message.MimeType);
+

          
+
    // マルチパートメッセージ等、入れ子になっているメッセージがある場合は、再帰的に内容を表示
+
    foreach (var part in message.SubParts) {
+
      Console.WriteLine();
+

          
+
      Dump(part, nest + 1);
+
    }
+
  }
+

          
+
  private static void DumpHeaders(MimeMessage message, string indent)
+
  {
+
    foreach (var header in message.Headers) {
+
      Console.WriteLine("{0}{1}: {2}", indent, header.Name, header.Value);
+
    }
+
  }
+
}
+
}}
+
#tabpage(VB)
+
#code(vb){{
+
Imports System
+
Imports Smdn.Formats.Mime
+

          
+
Class Sample
+
  Public Shared Sub Main(ByVal args As String())
+
    ' sample.emlを読み込む
+
    Dim message As MimeMessage = MimeMessage.Load("sample.eml")
+

          
+
    ' 内容を表示する
+
    Dump(message, 0)
+
  End Sub
+

          
+
  Private Shared Sub Dump(ByVal message As MimeMessage, ByVal nest As Integer)
+
    Dim indent As String = New String(" "c, nest * 4)
+

          
+
    '  個々のヘッダの内容を表示
+
    DumpHeaders(message, indent)
+

          
+
    Console.Write(indent)
+

          
+
    ' 本文がテキスト形式の場合は、本文を読み込んで表示
+
    If message.MimeType.TypeEquals("text") Then
+
      Console.WriteLine(message.ReadContentAsText())
+
    Else
+
      Console.WriteLine(message.MimeType)
+
    End If
+

          
+
    ' マルチパートメッセージ等、入れ子になっているメッセージがある場合は、再帰的に内容を表示
+
    For Each part As MimeMessage In message.SubParts
+
      Console.WriteLine()
+

          
+
      Dump(part, nest + 1)
+
    Next
+
  End Sub
+

          
+
  Private Shared Sub DumpHeaders(ByVal message As MimeMessage, ByVal indent As String)
+
    For Each header As MimeHeader In message.Headers
+
      Console.WriteLine("{0}{1}: {2}", indent, header.Name, header.Value)
+
    Next
+
  End Sub
+
End Class
+
}}
+
#tabpage-end
+

          
+
**ContentTransferEncodingクラス
+
***BASE64のデコード
+
BASE64エンコードされたストリームのデコードを行う例。
+

          
+
#tabpage(C#)
+
#code(cs){{
+
using System;
+
using System.IO;
+
using System.Text;
+

          
+
using Smdn.Formats.Mime;
+

          
+
class Sample {
+
  public static void Main(string[] args)
+
  {
+
    using (var stream = File.OpenRead("base64.txt")) {
+
      // ファイルの内容をそのまま読み込み表示する
+
      var reader = new StreamReader(stream, Encoding.ASCII);
+

          
+
      Console.WriteLine(reader.ReadToEnd());
+
    }
+

          
+
    using (var stream = File.OpenRead("base64.txt")) {
+
      // 文字コードUTF-8、Base64でエンコードされた内容を読み取るStreamReaderを作成して読み込む
+
      var reader = ContentTransferEncoding.CreateTextReader(stream,
+
                                                            ContentTransferEncodingMethod.Base64,
+
                                                            Encoding.UTF8);
+

          
+
      Console.WriteLine(reader.ReadToEnd());
+
    }
+
  }
+
}
+
}}
+
#tabpage(VB)
+
#code(vb){{
+
Imports System
+
Imports System.IO
+
Imports System.Text
+

          
+
Imports Smdn.Formats.Mime
+

          
+
Class Sample
+
  Public Shared Sub Main()
+
    Using stream As Stream = File.OpenRead("base64.txt")
+
      ' ファイルの内容をそのまま読み込み表示する
+
      Dim reader As New StreamReader(stream, Encoding.ASCII)
+

          
+
      Console.WriteLine(reader.ReadToEnd())
+
    End Using
+

          
+
    Using stream As Stream = File.OpenRead("base64.txt")
+
      ' 文字コードUTF-8、Base64でエンコードされた内容を読み取るStreamReaderを作成して読み込む
+
      Dim reader As StreamReader = ContentTransferEncoding.CreateTextReader(stream, _
+
                                                                             ContentTransferEncodingMethod.Base64, _
+
                                                                             Encoding.UTF8)
+

          
+
      Console.WriteLine(reader.ReadToEnd())
+
    End Using
+
  End Sub
+
End Class
+
}}
+
#tabpage-end
+

          
+
#prompt(実行結果){{
+
5oud5ZWTDQrmmYLkuIvjgb7jgZnjgb7jgZnjgZTmuIXmoITjga7jgZPjgajjgajjgYrllpzjgb
+
PnlLPjgZfjgYLjgZLjgb7jgZnjgIINCuW5s+e0oOOBr+agvOWIpeOBruOBiuW8leOBjeeri+OB
+
puOBq+OBguOBmuOBi+OCiuOAgeOBguOCiuOBjOOBn+OBj+WOmuOBj+OBiuekvOeUs+OBl+OBgu
+
OBkuOBvuOBmeOAgg==
+

          
+
拝啓
+
時下ますますご清栄のこととお喜び申しあげます。
+
平素は格別のお引き立てにあずかり、ありがたく厚くお礼申しあげます。
+

          
+
}}
+

          
+
***quoted-printableのデコード
+
quoted-printable形式のストリームをデコードして読み込む場合は、BASE64の場合と同じコードを使い、ContentTransferEncodingMethod.Base64の代わりにContentTransferEncodingMethod.QuotedPrintableを指定するだけで出来ます。
+

          
+
#tabpage(C#)
+
#code(cs){{
+
using System;
+
using System.IO;
+
using System.Text;
+

          
+
using Smdn.Formats.Mime;
+

          
+
class Sample {
+
  public static void Main(string[] args)
+
  {
+
    using (var stream = File.OpenRead("quoted-printable.txt")) {
+
      // ファイルの内容をそのまま読み込み表示する
+
      var reader = new StreamReader(stream, Encoding.ASCII);
+

          
+
      Console.WriteLine(reader.ReadToEnd());
+
    }
+

          
+
    using (var stream = File.OpenRead("quoted-printable.txt")) {
+
      // 文字コードUTF-8、quoted-printableでエンコードされた内容を読み取るStreamReaderを作成して読み込む
+
      var reader = ContentTransferEncoding.CreateTextReader(stream,
+
                                                            ContentTransferEncodingMethod.QuotedPrintable,
+
                                                            Encoding.UTF8);
+

          
+
      Console.WriteLine(reader.ReadToEnd());
+
    }
+
  }
+
}
+
}}
+
#tabpage(VB)
+
#code(vb){{
+
Imports System
+
Imports System.IO
+
Imports System.Text
+

          
+
Imports Smdn.Formats.Mime
+

          
+
Class Sample
+
  Public Shared Sub Main()
+
    Using stream As Stream = File.OpenRead("quoted-printable.txt")
+
      ' ファイルの内容をそのまま読み込み表示する
+
      Dim reader As New StreamReader(stream, Encoding.ASCII)
+

          
+
      Console.WriteLine(reader.ReadToEnd())
+
    End Using
+

          
+
    Using stream As Stream = File.OpenRead("quoted-printable.txt")
+
      ' 文字コードUTF-8、quoted-printableでエンコードされた内容を読み取るStreamReaderを作成して読み込む
+
      Dim reader As StreamReader = ContentTransferEncoding.CreateTextReader(stream, _
+
                                                                             ContentTransferEncodingMethod.QuotedPrintable, _
+
                                                                             Encoding.UTF8)
+

          
+
      Console.WriteLine(reader.ReadToEnd())
+
    End Using
+
  End Sub
+
End Class
+
}}
+
#tabpage-end
+

          
+
#prompt(実行結果){{
+
=E6=8B=9D=E5=95=93
+
=E6=99=82=E4=B8=8B=E3=81=BE=E3=81=99=E3=81=BE=E3=81=99=E3=81=94=E6=B8=85=E6=
+
=A0=84=E3=81=AE=E3=81=93=E3=81=A8=E3=81=A8=E3=81=8A=E5=96=9C=E3=81=B3=E7=94=
+
=B3=E3=81=97=E3=81=82=E3=81=92=E3=81=BE=E3=81=99=E3=80=82
+
=E5=B9=B3=E7=B4=A0=E3=81=AF=E6=A0=BC=E5=88=A5=E3=81=AE=E3=81=8A=E5=BC=95=E3=
+
=81=8D=E7=AB=8B=E3=81=A6=E3=81=AB=E3=81=82=E3=81=9A=E3=81=8B=E3=82=8A=E3=80=
+
=81=E3=81=82=E3=82=8A=E3=81=8C=E3=81=9F=E3=81=8F=E5=8E=9A=E3=81=8F=E3=81=8A=
+
=E7=A4=BC=E7=94=B3=E3=81=97=E3=81=82=E3=81=92=E3=81=BE=E3=81=99=E3=80=82
+

          
+
拝啓
+
時下ますますご清栄のこととお喜び申しあげます。
+
平素は格別のお引き立てにあずかり、ありがたく厚くお礼申しあげます。
+

          
+
}}
+

          
+

          
+
**MimeEncodingクラス
+
Qエンコードされた文字列のデコード・エンコードを行う例。
+

          
+
#tabpage(C#)
+
#code(cs){{
+
using System;
+
using System.Text;
+
using Smdn.Formats.Mime;
+

          
+
class Sample {
+
  public static void Main(string[] args) {
+
    // Qエンコードされた文字列をデコードする
+
    var text = "=?iso-2022-jp?q?=1B$B%5%s%W%k=1B(B?=";
+
    var decoded = MimeEncoding.Decode(text);
+

          
+
    Console.WriteLine("[decode]");
+
    Console.WriteLine(text);
+
    Console.WriteLine(decoded);
+
    Console.WriteLine();
+

          
+
    text = decoded;
+

          
+
    // 文字列を文字コードISO-2022-JPでQエンコードする
+
    var encoded = MimeEncoding.Encode(text, MimeEncodingMethod.QEncoding, Encoding.GetEncoding("ISO-2022-JP"));
+

          
+
    Console.WriteLine("[encode]");
+
    Console.WriteLine(text);
+
    Console.WriteLine(encoded);
+
    Console.WriteLine();
+
  }
+
}
+
}}
+
#tabpage(VB)
+
#code(vb){{
+
Imports System
+
Imports System.Text
+
Imports Smdn.Formats.Mime
+

          
+
Class Sample
+
  Public Shared Sub Main()
+
    ' Qエンコードされた文字列をデコードする
+
    Dim text As String = "=?iso-2022-jp?q?=1B$B%5%s%W%k=1B(B?="
+
    Dim decoded As String = MimeEncoding.Decode(text)
+

          
+
    Console.WriteLine("[decode]")
+
    Console.WriteLine(text)
+
    Console.WriteLine(decoded)
+
    Console.WriteLine()
+

          
+
    text = decoded
+

          
+
    ' 文字列を文字コードISO-2022-JPでQエンコードする
+
    Dim encoded As String = MimeEncoding.Encode(decoded, MimeEncodingMethod.QEncoding, Encoding.GetEncoding("ISO-2022-JP"))
+

          
+
    Console.WriteLine("[encode]")
+
    Console.WriteLine(text)
+
    Console.WriteLine(encoded)
+
    Console.WriteLine()
+
  End Sub
+
End Class
+
}}
+
#tabpage-end
+

          
+
#prompt(実行結果){{
+
[decode]
+
=?iso-2022-jp?q?=1B$B%5%s%W%k=1B(B?=
+
サンプル
+

          
+
[encode]
+
サンプル
+
=?iso-2022-jp?q?=1B$B%5%s%W%k=1B(B?=
+
}}
+

          
+
MimeEncodingMethod.QEncodingの代わりにMimeEncodingMethod.BEncodingを指定すれば、Bエンコード(BASE64)した文字列を取得出来ます。
+