我正在尝试读取一个特定的二进制文件,但它包含 3 字节的大端整数。我最近遇到了Mono DataConvert,除了这些 3 字节整数之外,它对于我想要的大部分内容都应该很好。我不确定如何阅读它们。请注意,我不需要将它们保留为 3 字节整数,将它们读入常规Int32
将是理想的。我正在阅读大量数据,因此我正在寻找有效的东西。有什么建议么?
示例理想代码:
public Region(string regionFile)
{
var conv = DataConverter.BigEndian;
var chunks = new Chunk[Chunk.MaxLocations];
using (var fs = File.OpenRead(regionFile))
{
var buffer = new byte[4096];
fs.Read(buffer, 0, buffer.Length);
// Read chunk locations
for (int i = 0; i < Chunk.MaxLocations; ++i)
{
chunks[i] = new Chunk(conv.ToInt24(buffer, i * 4), buffer[i * 4 + 3]);
}
}
}
我想做类似的事情,除了conv.ToInt24
不存在。我想我可以通过位移来编写自己的...