在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"));
答案 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)