Objective-C 打印 Byte 数组 并取出最后一位转为16进制
时间: 2024-03-05 14:53:27 浏览: 22
可以使用以下代码打印 Byte 数组并取出最后一位转为16进制:
```objective-c
Byte byteArray[] = {0x12, 0x34, 0x56, 0x78, 0x9A};
NSUInteger length = sizeof(byteArray)/sizeof(Byte);
NSMutableString* hexString = [NSMutableString string];
for (NSUInteger i = 0; i < length; i++) {
[hexString appendFormat:@"%02X", byteArray[i]];
if (i < length - 1) {
[hexString appendString:@" "];
}
}
NSLog(@"%@", hexString);
Byte lastByte = byteArray[length - 1];
NSString* lastHex = [NSString stringWithFormat:@"%02X", lastByte];
NSLog(@"%@", lastHex);
```
这段代码首先定义了一个 Byte 类型的数组 byteArray,并计算出它的长度 length。然后使用循环将数组中的每个元素转为16进制字符串,并添加到一个可变字符串 hexString 中,每两个字符之间用空格隔开。最后使用 NSLog 打印字符串 hexString。
接着取出数组中的最后一个元素 lastByte,并将它转为16进制字符串 lastHex,然后使用 NSLog 打印出来。注意在格式化字符串时需要使用 %02X,这样可以保证输出的16进制字符串始终是两个字符,不足两个字符时前面补0。