Objective-C - NSData 到整数不起作用
Objective-C - NSData to integer does not work
我正在尝试将 NSData 中的 2 个字节转换为 int。
使用代码
int value = *(int*)[d1 bytes];
NSLog(@"NSData: %@ -> int: %d",d1, value);
我会得到
NSData: <01ac> -> int: 44033
对于 ac01 而不是 01ac 是整数。
正确的转换方式是什么?
我认为字节顺序已转换(即大端与小端)。
要解决此问题,请尝试:
int value = CFSwapInt32BigToHost(*(int*)[d1 bytes]);
我正在尝试将 NSData 中的 2 个字节转换为 int。 使用代码
int value = *(int*)[d1 bytes];
NSLog(@"NSData: %@ -> int: %d",d1, value);
我会得到
NSData: <01ac> -> int: 44033
对于 ac01 而不是 01ac 是整数。 正确的转换方式是什么?
我认为字节顺序已转换(即大端与小端)。
要解决此问题,请尝试:
int value = CFSwapInt32BigToHost(*(int*)[d1 bytes]);