1

.NET Web アプリケーションでは、BitConverter クラスを使用して、次のように Int32 をバイト配列に変換しています。

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

今、私はこれを iPhone アプリに読み込もうとしています。長さ 4 の NSData にバイトがありますが、デバッガー コンソールで nsdata の内容を表示する方法がわからないため、続行する方法がわかりません。

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

これらの 4 バイトを object-c int に変換するにはどうすればよいですか?

編集:

ここに私が思いついたものがありますが、それは正しい軌道に乗っているかもしれないし、そうでないかもしれません. NSData のインデックスで 1 バイト値を取得する方法がわかりません。

- (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);
}
4

1 に答える 1

0
int i;
[intBuffer getBytes:&i range:NSMakeRange(0, 4)];
于 2011-01-24T19:27:43.503 に答える