gpt4 book ai didi

iphone - iOS:如何将 NSData 的长度添加为其两个字节的 header ?

转载 作者:行者123 更新时间:2023-11-29 11:02:18 25 4
gpt4 key购买 nike

我有一个 NSData,我想在其标题中将其长度附加为十六进制数字。我可以使用以下代码执行此操作:

unsigned int len = [data length];

NSMutableData *sendData = [[NSMutableData alloc] initWithBytes:&len length:2];
[sendData appendData:data];

上面代码的 len = 5 的结果是“05 00”,但我想要“00 05”。有人知道怎么做吗?

header 的长度始终为 2。

谢谢,

最佳答案

下面的代码添加(如您所做的)长度小于 65536(两个字节)。所以你需要使用:

uint16_t len = CFSwapInt16HostToBig([data length]);
NSMutableData *sendData = [[NSMutableData alloc] initWithBytes:&len length:2];
[sendData appendData:data];

可用函数的列表在苹果开发者库的下面的文档中描述:

Byte-Order Utilities Reference

关于iphone - iOS:如何将 NSData 的长度添加为其两个字节的 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303690/

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