为什么NSData转换成NSString时返回值为空?请求各位路过的大神指教

解决方案 »

  1.   

    你是怎么做的,有代码吗
    最好检查一下你的encoding是不是对的
    NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"%@",str);
      

  2.   

    是的,使用的是utf8,在data里面是有值的,进过转换以后输出的就是为0或者为null
      

  3.   

     NSString *string = @"大家好";
        NSData *testData = [string dataUsingEncoding: NSUTF8StringEncoding];
        Byte *testByte = (Byte *)[testData bytes]; //        byte转换成字符型
        NSLog(@"testByte:%s",testByte);
        NSMutableArray *byte = [NSMutableArray array];
        for(int i=0;i<[testData length];i++){
            [byte addObject:@(testByte[i])];
        }
        NSRange range = NSMakeRange(0, 4);
        NSArray *subArray = [byte subarrayWithRange:range];
        NSLog(@"subArray%@",subArray);
        NSData *data = [[NSData alloc]initWithBytes:testByte length:subArray.count];
        NSLog(@"ByteTOData:%@",data);
        NSString *string1 = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"DataToString:%@",string1);
      

  4.   

    已经转换成功了,但是现在有面临如何在byte数组中截取一段数据来进行转换呢?
      

  5.   

    EAAAAD/kSWwAstBHpQrbkVpD1pwBHgMAAB+LCAAAAAAABACtVE1v00AQ/SvI5zjetb127FvatKiHlqgJQohUlb27TlZN4shet41Q/w0q4sChfEkVLQeKqChCoCLR38CZAwgEYnft5qNQ1KJeYu+bzBu/NztzV2sGYZdq/p272jJNsy5fynqaD0rixBfTtuZrHw+e3396+HLv8ZvdbW1rpZRnQJFy+m6q9CylSYPi6xkjIsvBtkdtK9JDEwDddgnQAwQCnYQeRIFtEcfDYzZLMWzgaEHmmgC6Wkkem3STC6DD+cBvGS2jV/
    这一串是从服务器上返回下来的参数,所有数据都在里面,需要转换成byte类型截取前4位转换类型,结果是int的16;希望大神帮帮忙;使用的是OC调用web service;