プログラム技術、VB.NET TIPSの一覧に戻る

VB.NET にて、7bitでエンコードされた文字列をデコードする方法

VB.NET にて、7bitでエンコードされた文字列をデコードする方法


7bitは $B で始まるエンコードです。Eメール等に使われています。

ヘッダがこのようであれば、7bit-JIS として処理すべきです。
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit

以下のようにプロシージャを作成して利用します。

UTF-8として格納されている場合。
  Private Function decode7bit(strBody As String) As String
    Dim b(Len(strBody)) As Byte
    b = System.Text.Encoding.UTF8.GetBytes(strBody)
    decode7bit = System.Text.Encoding.GetEncoding("ISO-2022-JP").GetString(b)
  End Function

SHIFT_JISとして格納されている場合。
  Private Function decode7bit(strBody As String) As String
    Dim b(Len(strBody)) As Byte
    b = System.Text.Encoding.GetEncoding(932).GetBytes(strBody)
    decode7bit = System.Text.Encoding.GetEncoding("ISO-2022-JP").GetString(b)
  End Function

ヘッダがこのようであれば、7bit の 西ヨーロッパ言語 (ISO) として処理すべきです。
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

UTF-8として格納されている場合。
  Private Function decode7bit(strBody As String) As String
    Dim b(Len(strBody)) As Byte
    b = System.Text.Encoding.UTF8.GetBytes(strBody)
    '50220はiso-2022-jpです。
    decode7bit = System.Text.Encoding.GetEncoding("ISO-8859-1").GetString(b)
  End Function

以下のように利用します。
7bitString に 7bit-JIS エンコードされた文字列を代入して渡してください。

  MsgBox(decode7bit(7bitString), vbOKOnly)



以上で、説明は終了です。



プログラム技術、VB.NET TIPSの一覧に戻る

Information of This Page
VB.NET にて、7bitでエンコードされた文字列をデコードする方法 pubdate:


© 2024
Author : FloatGarden