如何将NSData转换为包含六进制值的char数组 [英] how to convert NSData to char array containing hexa values

查看:39
本文介绍了如何将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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆