来自 python 我可以做这样的事情。
values = (1, 'ab', 2.7)
s = struct.Struct('I 2s f')
packet = s.pack(*values)
我可以用 python 非常简单地将任意类型打包在一起。在 Objective C 中执行此操作的标准方法是什么?
来自 python 我可以做这样的事情。
values = (1, 'ab', 2.7)
s = struct.Struct('I 2s f')
packet = s.pack(*values)
我可以用 python 非常简单地将任意类型打包在一起。在 Objective C 中执行此操作的标准方法是什么?
不是很清楚一个问题,但也许你正在寻找一个(打包结构)?
__attribute__((packed)) struct NetworkPacket {
int integer;
char character;
};
使用 C 结构是正常的方法。例如:
typedef struct {
int a;
char foo[2];
float b;
} MyPacket;
将为 int、2 个字符和一个浮点数定义一个类型。然后,您可以将这些字节解释为用于写入的字节数组:
MyPacket p = {.a = 2, .b = 2.7};
p.foo[0] = 'a';
p.foo[1] = 'b';
char *toWrite = (char *)&p; // a buffer of size sizeof(p)