gpt4 book ai didi

ios - 在 iOS 中将 NSData 转换为 Int 返回垃圾值

转载 作者:行者123 更新时间:2023-11-29 05:22:01 26 4
gpt4 key购买 nike

数据:

<5b005c00 5d005e00 5f006000 61006200 63006400>

输出:6029403

以上数据长度为20bytes,返回值范围为0-100,

我使用的代码:

ppData = [ppData subdataWithRange:NSMakeRange(0, 20)];

int value = *(int*)([ppData bytes]);
NSLog(@"int rec %d",value);

最佳答案

您的数据似乎是 10 个 16 位整数:91, 92, ..., 100;以小端格式排列。 MacOS 和 iOS 是小端[*],因此要获取 int 形式的第一个值,请将代码更改为:

int value = *(int16_t *)ppData.bytes;

(Objective-)C 语言本身负责将 int16_t 值从 RHS 转换为 int(MacOS/iOS 上为 32 位)值需要存储到value中。

HTH

[*] 当平台和数据字节顺序不同时,您需要调用通常提供的适当的字节交换函数。

关于ios - 在 iOS 中将 NSData 转换为 Int 返回垃圾值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58596192/

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