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

本文关键字:字符串 获取 byte | 更新日期: 2023-09-27 18:17:35

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

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

将是一个选项,但也许有更好的方法。

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

我认为您提供的问题解决方案最好的方法。我不知道从字节数组中获取字符串的任何其他方法(知道编码)或将字符串分割成数组。

根据您的string[]来源,您可以先使用BinaryFormatter,然后使用Serialize,将string[]转换为byte[],然后再使用Deserialize返回string[];然而,这意味着你首先需要string[],所以它有点挫败了对象…

你提到的代码可能是最好的方法,如果我完全诚实的话,就像其他人建议的那样——你可以用StringBuilder读取每个字节,但那可能更混乱。

BinaryFormatter