Objective-C 打印 Byte*UInt8数据 并取出最后一位转为16进制
时间: 2023-12-20 07:06:53 浏览: 36
可以使用以下代码打印 Byte*UInt8 数据并取出最后一位转为 16 进制:
```objective-c
Byte *byteArray = (Byte *)malloc(sizeof(Byte)*5);
byteArray[0] = 0x12;
byteArray[1] = 0x34;
byteArray[2] = 0x56;
byteArray[3] = 0x78;
byteArray[4] = 0x9A;
NSMutableString* hexString = [NSMutableString string];
for (NSUInteger i = 0; i < 5; i++) {
[hexString appendFormat:@"%02X", byteArray[i]];
if (i < 4) {
[hexString appendString:@" "];
}
}
NSLog(@"%@", hexString);
Byte lastByte = byteArray[4];
NSString* lastHex = [NSString stringWithFormat:@"%02X", lastByte];
NSLog(@"%@", lastHex);
free(byteArray);
```
这段代码首先使用 malloc 分配了一个大小为 5 的 Byte 数组 byteArray,并将其初始化为指定的值。然后使用循环将数组中的每个元素转为 16 进制字符串,并添加到一个可变字符串 hexString 中,每两个字符之间用空格隔开。最后使用 NSLog 打印字符串 hexString。
接着取出数组中的最后一个元素 lastByte,并将它转为 16 进制字符串 lastHex,然后使用 NSLog 打印出来。注意在格式化字符串时需要使用 %02X,这样可以保证输出的 16 进制字符串始终是两个字符,不足两个字符时前面补 0。
最后记得使用 free 释放分配的内存。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)