Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何将十六进制NSData转换为十进制数组?_Iphone_Ios - Fatal编程技术网

Iphone 如何将十六进制NSData转换为十进制数组?

Iphone 如何将十六进制NSData转换为十进制数组?,iphone,ios,Iphone,Ios,我有一个十六进制值的数组,如下所示: const UInt8 request_MifareID[] = { 0x00, 0xCA, 0x01, 0x0A, 0x00 }; 然后我将其传输到NSData进行通信: NSData *data = [[NSData alloc] initWithBytesNoCopy:(UInt8 *)request_MifareID length:5]; 已将“数据”发送到服务器并获取服务器响应: Printing description

我有一个十六进制值的数组,如下所示:

const UInt8 request_MifareID[] = {
        0x00, 0xCA, 0x01, 0x0A, 0x00
    };
然后我将其传输到NSData进行通信:

NSData *data = [[NSData alloc] initWithBytesNoCopy:(UInt8 *)request_MifareID length:5];
已将“数据”发送到服务器并获取服务器响应:

Printing description of resp:
<ee97562d 02280400 00000000 21074400 9000>

NSUInteger len = [resp length];

Printing description of len:
(NSUInteger) len = 18
什么样的物体

字节

当我使用

NSString * str = [[NSString alloc] initWithData: resp
                                           encoding:NSUTF8StringEncoding];

它返回nil

内存中的表示形式不是“十进制”或“十六进制”。这并不取决于你如何格式化它。执行NSLog(@“%u”)、((uint8_t*)[data bytes])[0])和voilá。请参阅有关此主题的另一个SO线程:是的,数据不是“十六进制”。为方便起见,它仅以十六进制格式显示。当您执行NSString initWitData时,您会得到一个nil结果,因为NSData对象的内容不合法,UTF8字符代码数据。string将返回nil
int number = 0xe; // or 0x3, 0x6, 0x8, 0x2

NSString * decimalString = [NSString stringWithFormat:@"%d", number];
NSString * hexString = [NSString stringWithFormat:@"%x", number];
int number = 0xe; // or 0x3, 0x6, 0x8, 0x2

NSString * decimalString = [NSString stringWithFormat:@"%d", number];
NSString * hexString = [NSString stringWithFormat:@"%x", number];
**NSData *data = [NSData dataWithBytes:"FF3C" length:4];
NSString *string = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
string = [@"0x" stringByAppendingString:string];

unsigned short value;
sscanf([string UTF8String], "%hx", &value);

NSLog(@"%d", value)**