我有一个NSData,我想在其标题中将其长度作为十六进制数字追加。我可以使用以下代码执行此操作:
unsigned int len = [data length];
NSMutableData *sendData = [[NSMutableData alloc] initWithBytes:&len length:2];
[sendData appendData:data];
len = 5的上述代码的结果是“05 00”,但我想要“00 05”。有谁知道怎么做?
标题总是长度为2。
谢谢,
答案 0 :(得分:2)
下面的代码(正如你所做)表示长度小于65536(两个字节)。所以你需要使用:
uint16_t len = CFSwapInt16HostToBig([data length]);
NSMutableData *sendData = [[NSMutableData alloc] initWithBytes:&len length:2];
[sendData appendData:data];
可用功能列表在下面的apple开发者库中的de document中描述: