【VB.NET】バイト型配列から文字列に変換する方法

VB.NET
この記事は約3分で読めます。
バイト型配列から文字列に変換する例
Dim bytes As Byte()

' Shift JIS で "abcあいう"
bytes = {&H61, &H62, &H63, &H82, &HA0, &H82, &HA2, &H82, &HA4}

Console.WriteLine(BitConverter.ToString(bytes))
' 出力:61-62-63-82-A0-82-A2-82-A4

'Shift JIS 文字列に変換
Console.WriteLine(System.Text.Encoding.GetEncoding(932).GetString(bytes))
'または
Console.WriteLine(System.Text.Encoding.GetEncoding("shift_jis").GetString(bytes))
' 出力:abcあいう

'UTF-8 文字列に変換
Console.WriteLine(System.Text.Encoding.GetEncoding(65001).GetString(bytes))
'または
Console.WriteLine(System.Text.Encoding.GetEncoding("utf-8").GetString(bytes))
' 出力:abc??????

'日本語 EUC 文字列に変換
Console.WriteLine(System.Text.Encoding.GetEncoding(51932).GetString(bytes))
'または
Console.WriteLine(System.Text.Encoding.GetEncoding("euc-jp").GetString(bytes))
' 出力:abc・・・・

' utf8 で "abcあいう"
bytes = {&H61, &H62, &H63, &HE3, &H81, &H82, &HE3, &H81, &H84, &HE3, &H81, &H86}

Console.WriteLine(BitConverter.ToString(bytes))
' 出力:61-62-63-E3-81-82-E3-81-84-E3-81-86

'Shift JIS 文字列に変換
Console.WriteLine(System.Text.Encoding.GetEncoding(932).GetString(bytes))
'または
Console.WriteLine(System.Text.Encoding.GetEncoding("shift_jis").GetString(bytes))
' 出力:abc縺ゅ>縺・

'UTF-8 文字列に変換
Console.WriteLine(System.Text.Encoding.GetEncoding(65001).GetString(bytes))
'または
Console.WriteLine(System.Text.Encoding.GetEncoding("utf-8").GetString(bytes))
' 出力:abcあいう

'日本語 EUC 文字列に変換
Console.WriteLine(System.Text.Encoding.GetEncoding(51932).GetString(bytes))
'または
Console.WriteLine(System.Text.Encoding.GetEncoding("euc-jp").GetString(bytes))
' 出力:abc・・・・・・

 

コメント

タイトルとURLをコピーしました