2011-01-15 15 views
0

これは(学校を除く)決して行っていません。だから私は完全に暗闇の中にいる。NSDataの逆順バイト

私はデータ(void *型)と、それのサイズ(UInt32型)を持っているので、私は単純に(私は必要がある)NSDataのインスタンスを取得するために

[NSData dataWithBytesNoCopy:data length:dataSize freeWhenDone:YES] 

このような何かを行うことができますが、私は「スライス」をしたいですこのデータを1バイトまたは2バイトブロックに変換し、その順序を逆にします。

短い例は素晴らしいでしょう。

thx。

+0

これはエンディアンの問題のように聞こえますが、そうですか? –

+0

こんにちはクレメンス!あなたは答えを刻むことができますか? – Fattie

答えて

1

あなたが今持っている、あなたはいったい開発中のバイトで何が起こっているのかを見つけるのに苦労している場合NSByteOrder.h

6

で定義された関数に対して

typedef struct _SliceItUp 
    { 
    UInt8 a,b,c,d; // 4 x 8bits == 32 bits 
    } 
    SliceItUp; 

SliceItUp dd; 

[data getBytes:&dd length:sizeof(SliceItUp)]; 

NSLog(@"the four friends are %d %d %d %d", dd.a,dd.b,dd.c,dd.d); 

をマニュアルを確認してください4バイトは個別に4つの完全に異なるバイトとして扱われます。

あなたは完全なコントロールがあり、あなたは何でもできます。