gpt4 book ai didi

c# - 二进制格式化程序生成比预期更大的数组

转载 作者:行者123 更新时间:2023-11-30 12:24:08 25 4
gpt4 key购买 nike

为什么在使用 BinaryFormatterInt32 转换为 byte[] 时,我得到的数组长度不是 4 个字节?

static class Program
{
static void Main(string[] args)
{
var bf = new BinaryFormatter();

using(var ms = new MemoryStream())
{
bf.Serialize(ms, 42);

Console.WriteLine($"{ms.ToArray().Length} bytes");
}

Console.ReadLine();
}
}

输出:

54 bytes

最佳答案

BinaryFormatter 在序列化时会添加更多信息,例如对象的版本、文化和程序集。

要获得一个 4 字节数组,您需要使用 BitConverter.GetBytes(42) , 回去你使用 BitConverter.ToInt32(bytes, 0)

关于c# - 二进制格式化程序生成比预期更大的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34682056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com