gpt4 book ai didi

iphone - 如何从 NSData 对象中获取值

转载 作者:行者123 更新时间:2023-11-29 04:46:57 27 4
gpt4 key购买 nike

我正在向我的数据库发出请求,作为响应,我收到了一堆数据,我正在使用 NSURLConnection 方法将这些数据放入 nsdata 对象中,如下所示。

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
// Append the new data to receivedData.
// receivedData is an instance variable declared elsewhere.
[receivedData appendData:data];
}

NSData 对象中的数据对于由 UInt16 变量 1 表示的每个代码段都有一个标识符值 1-无论什么......

我想知道如何识别这些值然后开始解码数据。

我的计划是创建一个类,其中包含一个方法,我从上面的方法将数据传递到该方法中。然后,接收方法会将数据包分开,并很可能将每个部分传递给相应的方法,然后该方法可以对其进行解码和/或对其进行检查等。

我只是不确定如何识别那些作为 UInt16 变量的数据表示形式的主值。

我希望我说得有道理,如果您能够提出一些建议或示例代码,那就太棒了!

最佳答案

鉴于数据的结构,您必须手动解析它。在循环中使用 -[NSData getBytes:range:] 来迭代数据并提取组件。请记住使用 NSSwap...ToHost() 系列宏将编码数字转换为 native 字节顺序。

编辑:查找 NSSwapLittleIntToHost()NSSwapBigIntToHost() 的文档和 header 。这些是将外部二进制数表示形式转换为 native CPU 字节顺序的众多函数中的两个,反之亦然。

关于iphone - 如何从 NSData 对象中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9492921/

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