objective-c - OC数据转换hex字符串转为uint8数组
本文介绍了objective-c - OC数据转换hex字符串转为uint8数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
要得到这个结果
UInt8 bytes[]= {0xca,0x20,0xfe,0xc1,0x04,0x03,0x03,0x07,0x01,0xac};
有字符串
NSString *strData = @"ca 20 fe c1 04 03 03 07 00 ac";
如何转换成上面的结构,使用oc
swift的转换如下
let data = NSString(string : "ca 20 fe c1 04 03 03 07 01 ac"); let dataArr = data.componentsSeparatedByString(" ") var bytes : [UInt8] = []; for item in dataArr { let byte = UInt8(item, radix: 16) bytes.append(byte!); } let hexData = NSData(bytes: bytes, length: 10)
解决方案
试试看
NSString *strData = @"ca 20 fe c1 04 03 03 07 00 ac";
NSArray<NSString *> *dataArr = [strData componentsSeparatedByString:@" "];
UInt8 bytes[dataArr.count];
for (NSInteger i = 0; i< dataArr.count; i++) {
NSString *obj = dataArr[i];
UInt8 byte = (UInt8)strtoul([obj UTF8String],0,16);
bytes[i] = byte;
}
// NSData *data = [NSData dataWithBytes:bytes length:dataArr.count];
这篇关于objective-c - OC数据转换hex字符串转为uint8数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文