2013-01-24 42 views
-1

我試圖以正確的順序替換字節(服務器以錯誤的順序發送它們)。而且我很難完成它。也許有人可以幫我用replaceBytesInRange:<(NSRange)> withBytes:<(const void *)>NSMutableData替換字節

做正確

Input: < F801 0020 > (NSMutableData) 
Output: < 2000 01F8 > (NSMutableData) 

嘗試,但我在使用這個問題這種方法很難。在objective-c中不存在交換字節的簡單方法嗎?

+0

是固定交換像你上面提到的順序? –

+0

好的,但我已經知道了。如果你對如何做到這一點有更好的想法,請發表一個答案:) – Datenshi

+0

用'replaceBytesInRange'做它會變得緩慢和笨拙。假設必須處理整個NSMutableData對象,讀取一個NSMutableData並寫入另一個NSMutableData可能會更好/更簡單/更快。 –

回答

0

得到它以這種方式工作

+ (int) dataToIntSwitched:(NSMutableData*) data 
{ 
    int elem = OSReadLittleInt([data bytes], 0); 
    return elem; 
}