質問

.NET Webアプリケーションでは、BitConverterクラスを使用して、INT32をバイト配列に変換するために使用されています。

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

今、私はこれをiPhoneアプリに戻そうとしています。長さは4のNSDATAにバイトを持っていますが、デバッガーコンソールで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