可能重复:
字节 [] 到 c# 中的字符串
我有一个从流中读取的字节数组。我想将其转换为字符串。
这对我有用:
var str= new string(bytearr.Select(x=>(char)x).ToArray());
但我觉得有更好的方法吗?有没有?
可能重复:
字节 [] 到 c# 中的字符串
我有一个从流中读取的字节数组。我想将其转换为字符串。
这对我有用:
var str= new string(bytearr.Select(x=>(char)x).ToArray());
但我觉得有更好的方法吗?有没有?
Encoding.UTF8.GetString(bytearr);
您需要知道正确的编码并使用它,UTF8 只是一个示例。根据对你有用的东西,我猜你要么有 UTF8 要么 ASCII。
您可以使用以下内置函数Encoding
:
string myString = Encoding.UTF8.GetString(bytearr);
http://msdn.microsoft.com/en-us/library/aa332098(v=vs.71).aspx
var str = System.Text.Encoding.UTF8.GetString(byte[])
你可以用System.Text.Encoding
string result = Encoding.UTF8.GetString(bytearr);
您应该使用 Encoding 的实例
来自 msdn
public UTF8Encoding(
bool encoderShouldEmitUTF8Identifier,
bool throwOnInvalidBytes
)
参数
编码器ShouldEmitUTF8标识符
类型:System.Boolean true 指定提供 Unicode 字节顺序标记;否则为假。
throwOnInvalidBytes
类型:System.Boolean
true 指定在检测到无效编码时抛出异常;否则为假。
所以使用
var encoding = new UTF8Encoding(false,true);
encoding.GetString (byteArr);