C#将byte []转换为带字符集的字符串

时间:2012-03-06 03:12:24

标签: c# string bytearray

在C#中我们如何使用charset.eg utf8,SHIFT_JIS等将byte []转换为字符串 我知道Encoding.UTF8

byte[] inputBytes =SupportClass.ToByteArray(readBytes);
StringBuilder result;
result.Append(System.Text.Encoding.UTF8.GetString(inputBytes,0,inputBytes.Length));//get unreadable code.

我的问题是如何从inputBytes获取带有特殊字符集的结果,比如java

StringBuffer result.append(new String(buffer, "SJIS"));

2 个答案:

答案 0 :(得分:3)

System.Text.Encoding enc = System.Text.Encoding.GetEncoding("shift-jis");
result.Append(enc.GetString(inputBytes,0,inputBytes.Length));

参见这篇文章:

http://msdn.microsoft.com/en-us/library/aa332097(v=vs.71).aspx

答案 1 :(得分:1)

而不是Encoding.UTF8,请使用Encoding.GetEncoding

E.g。

private static readonly Encoding SHIFT_JIS = Encoding.GetEncoding("Shift_JIS");

SHIFT_JIS.GetString(inputBytes,0,inputBytes.Length)
相关问题