gpt4 book ai didi

c++ - 在 C++ 中对二进制对象进行编码/解码的标准方法

转载 作者:太空狗 更新时间:2023-10-29 20:53:27 29 4
gpt4 key购买 nike

我想将一些基本类型编码/解码为二进制。

测试代码可能是这样的。

 int main()
{
int iter = 0;
char* binary = new char[100];

int32_t version = 1;
memcpy(binary, &version, sizeof(int32_t));
iter+=sizeof(int32_t);

const char* value1 = "myvalue";
memcpy(binary+iter, value1, strlen(value1));
iter+=strlen(value1);

double value2 = 0.1;
memcpy(binary+iter, &value2, sizeof(double));
#warning TODO - big/small endian - fixed type length

return 0;
}

但是我还需要解决很多问题,比如字节序和固定类型长度。

所以我想知道是否有一个标准的方法来实现这个。

同时,我不想使用任何第三方实现,比如Boost等。因为我需要保持我的代码简单和独立。

如果Objc中有NSCoding这样的函数/类,那最好不过了。我想知道 C++ 标准库中是否有相同的东西。

最佳答案

不,标准库中没有序列化函数。使用库或自己实现。

请注意,raw new 和 delete 在 C++ 中是一种不好的做法。

关于c++ - 在 C++ 中对二进制对象进行编码/解码的标准方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42621887/

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