簡體   English   中英

將1個字節轉換為int Objective-C

[英]Convert 1 byte to int Objective-C

我有一個包含數據的NSData數據包。 我需要將范圍8、1的字節轉換為int。 要在該位置獲取數據,請執行以下操作。

NSData *byte = [packet subdataWithRange:NSMakeRange(8, 1)];

如果我NSLog字節

<01>

我認為如何將其轉換為int? 這可能是最基本的問題,但我只是做得不好。

任何幫助,將不勝感激。

更新

使用該數據,int應該等於1。我不確定這與Endian有什么關系。

使用-[NSData字節]獲取原始緩沖區並從中讀取

int i = *((char *)[byte bytes])

或使用-[NSData getBytes:length:]

char buff;
[bytes getBytes:&buff length:1];
int i = buff;

確保您從char * not int *讀取,否則您正在訪問無效的內存位置,這可能會或可能不會崩潰或提供正確的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM