C # конвертировать byte [] в строку с набором символов - PullRequest
1 голос
/ 06 марта 2012

В C # Как мы можем преобразовать byte [] в строку с помощью charset.eg utf8, SHIFT_JIS и других .Я знаю 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 ]

3 голосов
/ 06 марта 2012
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 голос
/ 06 марта 2012

Вместо Encoding.UTF8 используйте Encoding.GetEncoding.

1007 * Е.Г. *

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

SHIFT_JIS.GetString(inputBytes,0,inputBytes.Length)
...