我有一個NSData,我想將其長度作爲十六進制數字附加在其標題中。我能夠做到這一點使用下面的代碼:從上面的len = 5碼iOS:如何將NSData的長度添加爲其兩個字節的標題?
unsigned int len = [data length];
NSMutableData *sendData = [[NSMutableData alloc] initWithBytes:&len length:2];
[sendData appendData:data];
結果是「05 00」,但我希望「00 05」代替。有誰知道這是怎麼做到的嗎?
頭總是將是長度2。
致謝,
這很可能與字節序的事,試着去'無符號int len = CFSwapInt16BigToHost([data length]);' – 2013-03-08 21:45:15
在http://www.gamedev.net/page/resources/_/technical/game-programming/writing-endian-independent-code有一篇文章提到了endian swapping -in-c-r2091 – 2013-03-08 21:46:54
@Scott不應該是'CFSwapInt16HostToBig'嗎?目標是從當前的「主機」端節點到所需的大端節點。 – rmaddy 2013-03-09 00:56:55