2016-04-15 33 views
1

我想將一個NSData中的2個字節轉換爲一個int。 使用代碼Objective-C - NSData整數不起作用

int value = *(int*)[d1 bytes]; 
NSLog(@"NSData: %@ -> int: %d",d1, value); 

我會得到

NSData的:< 01AC> - > INT:44033

這是AC01不01AC INT。 以正確的方式將其轉換的方式是什麼?

回答

0

我認爲字節順序是切換的(即大端與小端)。

要解決這個問題,請嘗試:

int value = CFSwapInt32BigToHost(*(int*)[d1 bytes]); 
+0

謝謝CFSwapInt是缺少點! –