在Silverlight中如何将字节数组转换为字符串?

14

我正在尝试在Silverlight中将一个字节数组转换为字符串,但是我得到了以下编译错误:

"System.Text.Encoding.GetString(byte [])"由于其保护级别而无法访问

这是我正在使用的方法:

string text = UTF8Encoding.UTF8.GetString(myByteArray);

我还有其他方法可以实现这个吗?


“UTF8Encoding.UTF8” 不是通常使用的方式 - 你应该使用 Encoding.UTF8 来获取“正常”的 UTF8 编码(带有 BOM),或者使用“new UTFEncoding(..)”来构造自己的编码。 - James Manning
3个回答

37
你可以写成:

你可以这样写:

string text = UTF8Encoding.UTF8.GetString(yourByteArray, 0, yourByteArray.Length);

Silverlight 3和4仅支持该覆盖方法。only support


2
string text = Encoding.UTF8.GetString(myByteArray,0,myByteArray.Length);

适用于SL4,之前的版本不确定是否可用。


2

您也可以使用Unicode编码,

   String text=(new UnicodeEncoding()).GetString(barray, 0, barry.Length)

通过这种方式,您可以从byte[]中获取字符串,

反之亦然,

   Byte[] myarray=(new UnicodeEncoding()).getBytes(Stringexpressin);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接