[英]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])
char buff;
[bytes getBytes:&buff length:1];
int i = buff;
確保您從char *
not int *
讀取,否則您正在訪問無效的內存位置,這可能會或可能不會崩潰或提供正確的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.