在.NET Web应用程序中,BitConverter类用于将INT32的字节转换为类似的字节数组:

byte[] intBuffer = BitConverter.GetBytes(12345);

现在,我试图将其重新阅读到iPhone应用程序中。我在NSDATA中有4个长度为4的字节,但我不确定如何继续,因为我不知道如何在调试器控制台中查看NSDATA的内容。

NSData *intBuffer = [NSData dataWithBytes:[buffer bytes] length:4];

如何将这4个字节转换为Objective-C INT?

编辑:

这是我想出的东西,可能会或可能不会在正确的轨道上。我不确定如何通过NSDATA中的索引获得单个字节值。

- (int) extractSize:(NSData *)data {
    NSMutableString *size = [NSMutableString stringWithCapacity:0];

    for (int i = [data length] - 1; i <= 0; i--) {
        //[size appendFormat:@"%x", data[i]];
    }

    return strtol([size UTF8String], nil, 16);
}
有帮助吗?

解决方案

int i;
[intBuffer getBytes:&i range:NSMakeRange(0, 4)];
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top