バイト型配列のデータを文字コードを指定して文字列に変換する
文字列を文字コードを指定してバイト型配列のデータに変換する
バイト型配列を文字列に変換する
バイト型配列に代入されている文字列データをString型に変換するには、Encoding.GetStringメソッドを使います。具体的には、バイト型配列のデータの文字コードに従ってEncodingオブジェクトを作成し、GetStringメソッドを呼び出します。なお、Encodingクラスに関しては、こちらをご覧ください。
下の例ではバイト型配列"bytesData"にすでに文字列データが入っているものとし、これをString型に変換しています。
Dim str As String
str = System.Text.Encoding.GetEncoding(932).GetString(bytesData)
str = System.Text.Encoding.GetEncoding(50220).GetString(bytesData)
str = System.Text.Encoding.GetEncoding(51932).GetString(bytesData)
str = System.Text.Encoding.UTF8.GetString(bytesData)
Console.WriteLine(str)
string str;
str = System.Text.Encoding.GetEncoding(932).GetString(bytesData);
str = System.Text.Encoding.GetEncoding(50220).GetString(bytesData);
str = System.Text.Encoding.GetEncoding(51932).GetString(bytesData);
str = System.Text.Encoding.UTF8.GetString(bytesData);
Console.WriteLine(str);
文字列をバイト型配列に変換する
今度は逆に文字列をバイト型配列に変換する例を示します。文字列をバイト型配列に変換するには、Encoding.GetBytesメソッドを使用します。
Dim str As String = "テストです。"
Dim bytesData As Byte()
bytesData = System.Text.Encoding.GetEncoding(932).GetBytes(str)
bytesData = System.Text.Encoding.GetEncoding(50220).GetBytes(str)
bytesData = System.Text.Encoding.GetEncoding(51932).GetBytes(str)
bytesData = System.Text.Encoding.UTF8.GetBytes(str)
string str = "テストです。";
byte [] bytesData;
bytesData = System.Text.Encoding.GetEncoding(932).GetBytes(str);
bytesData = System.Text.Encoding.GetEncoding(50220).GetBytes(str);
bytesData = System.Text.Encoding.GetEncoding(51932).GetBytes(str);
bytesData = System.Text.Encoding.UTF8.GetBytes(str);
補足:バイト型配列のデータを間違った文字コードを指定して文字列に変換した時、その文字列をバイト型配列に変換しても、通常は元のデータには戻りません。