我有一个数组byte []。它包含一个字符串[]的行,用换行符分隔。从字节[]返回字符串[]的最佳方法是什么?编码是utf-8。
byte[] lines[];
string[] str = Encoding.UTF8.GetString(lines).Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
可能是一种选择,但也许有更好的方法。
答案 0 :(得分:1)
我认为您在静止中提供的解决方案是最佳方式。 我不知道从字节数组中获取字符串的任何其他方法(知道编码)或将字符串拆分为数组。
答案 1 :(得分:0)
根据您的string[]
来源,您可以先使用BinaryFormatter
,然后Serialize
string[]
byte[]
,然后Deserialize
稍后回到string[]
;但这意味着你首先需要string[]
,所以它会使对象失败......
你提到的代码可能是最好的方法,如果我完全诚实,而且正如其他人所建议的那样 - 你可以用StringBuilder
读取每个字节,但这可能更糟糕。