0

pythonから来て、私はこのようなことをすることができました.

values = (1, 'ab', 2.7)
s = struct.Struct('I 2s f')
packet = s.pack(*values)

Python を使用すると、任意の型を非常に簡単にまとめることができます。Objective Cでそれを行う標準的な方法は何ですか?

4

2 に答える 2

1

質問はあまり明確ではありませんが、(パックされた構造体)を探しているのではないでしょうか。

__attribute__((packed)) struct NetworkPacket {
    int integer;
    char character;
};
于 2013-03-07T19:30:10.563 に答える
1

C構造体を使用するのが通常のアプローチです。例えば:

typedef struct {
    int a;
    char foo[2];
    float b;
} MyPacket;

int、2文字、floatの型を定義します。次に、これらのバイトを書き込み用のバイト配列として解釈できます。

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)
于 2013-03-07T19:30:21.687 に答える