读取字节缓冲区:
while (...)
{
builder.Append(Encoding.ASCII.GetString(buffer, index, 1));
++index;
}
我得到以下结果:“20202020202020202020202057363253304b4358”,它看起来像 ASCII 或 HTML 字符代码。在 C# 中从该值中获取真实字符串的最佳和更快的方法是什么?
读取字节缓冲区:
while (...)
{
builder.Append(Encoding.ASCII.GetString(buffer, index, 1));
++index;
}
我得到以下结果:“20202020202020202020202057363253304b4358”,它看起来像 ASCII 或 HTML 字符代码。在 C# 中从该值中获取真实字符串的最佳和更快的方法是什么?
虽然我认为在获取该字符串时您的代码有问题,但无论如何,您可以使用
byte[] buf = SoapHexBinary.Parse("20202020202020202020202057363253304b4358").Value;
var str = Encoding.ASCII.GetString(buf);
这将返回 W62S0KCX
PS: SoapHexBinary
在 众所周知的 System.Runtime.Remoting.Metadata.W3cXsd2001
命名空间中:)
如果您已经有整个缓冲区可用,那么只需尝试:
var myString = Encoding.Default.GetString(byteBuffer);