[英]NSData dataWithContentsOfFile returns different results on device
[英]NSData getBytes provides different results in simulator than on device
我将数据从自编写的服务器后端发送到我的iOS设备。 该应用程序在iOS模拟器中正常工作,但在设备上无法正常工作。 例如:我发送整数值4 - 在模拟器上我得到4但在设备上它是1024.我搜索了整个互联网但没有找到任何解决方案,所以也许有人可以在这里帮助我。 我认为这不是一个端点问题,因为我已经注意到了它。
这是代码:
int someintvalue = 0;
uint8_t firstBuffer[4];
[inputStream read:firstBuffer maxLength: sizeof(firstBuffer)];
NSMutableData *data1 = [[NSMutableData alloc] initWithBytes:firstBuffer
length:sizeof(firstBuffer)];
NSRange rng = NSMakeRange(0, 4);
[data1 getBytes:&someintvalue range:rng];
someintvalue = CFSwapInt32HostToBig(someintvalue);
NSLog(@"Got %i Value", someintvalue);
你的字节交换不正确。 CFSwapInt32HostToBig()
从“host”字节序切换到big-endian。 这是倒退。 您可能打算使用CFSwapInt32BigToHost()
。
我有这个问题的答案。
遇到同样的问题:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.