我正在从二进制文件读取字符串。每个字符串都以 null 结尾。编码为UTF-8。在 python 中,我只是读取一个字节,检查它是否为 0,将其附加到字节数组,然后继续读取字节,直到看到 0。然后我将字节数组转换为字符串并继续。所有字符串均已正确读取。
我如何在 C# 中阅读此内容?我不认为我有能力简单地将字节附加到数组中,因为数组是固定大小的。
以下应该会为您提供您正在寻找的内容。所有文本都应位于 myText 列表内。
var data = File.ReadAllBytes("myfile.bin");
List<string> myText = new List<string>();
int lastOffset = 0;
for (int i = 0; i < data.Length; i++)
{
if (data[i] == 0)
{
myText.Add(System.Text.Encoding.UTF8.GetString(data, lastOffset, i - lastOffset));
lastOffset = i + 1;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)