C#从byte []获取字符串[]

时间:2013-06-10 10:32:00

标签: c# string bytearray

我有一个数组byte []。它包含一个字符串[]的行,用换行符分隔。从字节[]返回字符串[]的最佳方法是什么?编码是utf-8。

byte[] lines[];

string[] str = Encoding.UTF8.GetString(lines).Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);

可能是一种选择,但也许有更好的方法。

2 个答案:

答案 0 :(得分:1)

我认为您在静止中提供的解决方案是最佳方式。 我不知道从字节数组中获取字符串的任何其他方法(知道编码)或将字符串拆分为数组。

答案 1 :(得分:0)

根据您的string[]来源,您可以先使用BinaryFormatter,然后Serialize string[] byte[],然后Deserialize稍后回到string[];但这意味着你首先需要string[],所以它会使对象失败......

你提到的代码可能是最好的方法,如果我完全诚实,而且正如其他人所建议的那样 - 你可以用StringBuilder读取每个字节,但这可能更糟糕。

以下是BinaryFormatter

的链接