int8_t aa = (int8_t) 0xe0;
Byte bb = (Byte) 0xe0;
NSlog(@"data: %02x",aa); --> 顯示:e0
NSlog(@"data: %02x",bb); --> 顯示:e0
像上述這樣寫,是沒有差別的,使用上是ok的,但如果是接收資料再從NSData轉換過來就有不同了,例如,假設NSData *aa的第一個元素是e0
int8_t *rawData = malloc(sizeof(int8_t) * aa.length);
像上述這樣寫,是沒有差別的,使用上是ok的,但如果是接收資料再從NSData轉換過來就有不同了,例如,假設NSData *aa的第一個元素是e0
[aa getBytes:rawData length:aa.length];
NSlog(@"data: %02x", rawData); --> 顯示:ffffffe0
Byte *rawData = malloc(sizeof(Byte) * aa.length);
[aa getBytes:rawData length:aa.length];
NSlog(@"data: %02x", rawData); --> 顯示:e0
若要直接操作byte元素,還是最好用Byte會比較不會有不知名的錯誤。
沒有留言:
張貼留言