gpt4 book ai didi

C++ 如何将整数和 float 等数据类型编码为字节串?

转载 作者:太空宇宙 更新时间:2023-11-04 13:39:11 24 4
gpt4 key购买 nike

开始使用 C++ 进行套接字编程,我想找到一种方法将一系列数据类型编码为字节串,以便使用 UDP 通过套接字通过网络发送。

这是方法头

char * Message::marshal( int &n)

我需要整理的一系列数据类型是:

int int int int float  //need to be all marshaled into the same byte string

长度保存为n,字节串以字符数组返回。我还想知道如何解码该字节串。

我正在使用的服务器很可能没有 boost 库,并且可能没有更新到 C++ 11。我所在的最后一个服务器没有,所以我假设他们没有更新

我看到的一种序列化方法是使用流,但我看到了一些关于不可移植性的东西(我在 windows 中编写源代码,然后我会为 unix 更改一些东西并在 unix 服务器上编译它) .

我需要使用标准的 C++ 库,因为我无法控制服务器。

最佳答案

我最终找到了this post这使我找到了解决方案。由于客户端和服务器在同一台机器上,因此不必费心将 double 转换为网络字节顺序。对于 UDP,确保将结构转换为 char*。

关于C++ 如何将整数和 float 等数据类型编码为字节串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28423652/

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