字节缓冲区到字符串

时间:2013-05-07 16:57:31

标签: c# character-encoding character bytearray ascii

读取字节缓冲区:

while (...)
{
    builder.Append(Encoding.ASCII.GetString(buffer, index, 1));
    ++index;
}

我得到以下结果:“20202020202020202020202057363253304b4358”,看起来像ASCII或HTML字符代码。在C#中从该值中获取实际字符串的最佳和更快的方法是什么?

2 个答案:

答案 0 :(得分:3)

虽然我认为在获取该字符串时代码中存在错误,但无论如何,您可以使用

byte[] buf = SoapHexBinary.Parse("20202020202020202020202057363253304b4358").Value;
var str = Encoding.ASCII.GetString(buf);

将返回           W62S0KCX

PS: SoapHexBinary位于众所周知的 System.Runtime.Remoting.Metadata.W3cXsd2001名称空间中:)

答案 1 :(得分:1)

如果您已经拥有整个缓冲区,那么只需尝试:

var myString = Encoding.Default.GetString(byteBuffer);