如何将NSData转换为包含六进制值的char数组 [英] how to convert NSData to char array containing hexa values
本文介绍了如何将NSData转换为包含六进制值的char数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在通过以下方法接收NSData
i am receiving NSData by following method
- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
服务器以以下格式发送数据
server send data in follwing format
04 01 00
作为六进制值.所以现在需要将此数据转换为char数组,以便我可以分别访问每一对请帮助
as hexa values. so now need to convert this data into char array so that i can access every pair separately please help
推荐答案
如果您想逐字节比较,可以这样做:
You can go like this if you'd like to compare byte by byte:
//NSData *test; // assume this is your NSData containing 0x04 0x01 0x00
char *ptr = (void *)[test bytes]; // set a pointer to the beginning of your data bytes
if(*ptr == 0x04) {
NSLog(@"okay,.. got a 0x04");
}
ptr++; // go to the next byte
if(*ptr == 0x01) {
NSLog(@"okay,.. got a 0x01");
}
对您有用的希望.
这篇关于如何将NSData转换为包含六进制值的char数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文