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

标签 iphone objective-c ios nsdata

有一个特殊的 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/

相关文章:

iphone - 从 iphone 应用程序将视频上​​传到 youtube

ios - 有没有办法以编程方式从 ios 应用商店下载应用程序

iphone - 如何调用电话并在断开通话后想要返回 View

ios - 构建一个只能在一个 iOS 应用程序中使用的框架?

iPhone - 检查之前是否已加载每个 View

ios - SWIFT 在 Main.storyboard 中定义的 UIImageview 中旋转图像

objective-c - 导航 Controller 问题

ios - 用数组的字典创建字典(按特定的自定义对象属性排序)?

ios - 通过 AVFoundation 进行 RTSP 直播?

ios - 将数据从 TableView Controller 传递到 View Controller