0

读取字节缓冲区:

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

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

4

2 回答 2

3

虽然我认为在获取该字符串时您的代码有问题,但无论如何,您可以使用

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

这将返回           W62S0KCX

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

于 2013-05-07T17:32:19.273 回答
1

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

var myString = Encoding.Default.GetString(byteBuffer);
于 2013-05-07T17:00:14.147 回答