gpt4 book ai didi

iphone - 如何将 NSData 字节转换为 NSNumber 或 NSInteger?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:59:58 26 4
gpt4 key购买 nike

有一个特殊的 NSString initWithData 方法用于获取位并将它们转换为字符串。但是,我还没有在 NSNumber 类引用中找到它。目前,我正在以 NSData 格式从服务器获取原始数据(字节)。我知道如何在 C 中使用 memcpyint 指针来做到这一点。但我很好奇直接从 NSData 执行此操作的便捷方法是什么。无需转换。例如,我正在获取 00000010 字节,我需要将其转换为值为 2 的 NSNumberNSInteger

最佳答案

NSData 只是一个字节桶,不知道其中包含的数据。 NSStringinitWithData:encoding: 方法是此方法的倒数(它做相反的事情):

- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding

因此,要完整回答您的问题,了解您的数字最初是如何被强制转换为 NSData 对象非常重要。知道编码函数后,搜索的是倒数函数。

根据您在问题中包含的内容,可能有许多不同的解决方案。但是,您可能能够使用以下几行中的内容,使用 NSData 对象上的 getBytes:length: 将其转换为可用的数字格式。例如

NSUInteger decodedInteger;
[myDataObject getBytes:&decodedInteger length:sizeof(decodedInteger)];

您可以将 decodedInteger 的类型更改为适合您的 NSData 对象中字节的任何类型。

关于iphone - 如何将 NSData 字节转换为 NSNumber 或 NSInteger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9224712/

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