美文网首页
NSData转NSString时,返回为nil处理

NSData转NSString时,返回为nil处理

作者: 清风_____ | 来源:发表于2020-01-04 15:07 被阅读0次
    • 错误原因:
      是由于在转换成二进制或者其他进制时,可能包含00,编码是UTF8,所获得的新字符就会为nil。
      解决方法:
      可以先把二进制转成字符指针或者字节,在截取字符串不必要的字符“<”和“>”,
    //将传入的NSData类型转换成NSString并返回
    
    -(NSString *)convertToNSString:(NSData *)data
    {
        const unsigned char *szBuffer = [data bytes];
        if(!szBuffer){
             return nil;
        }
        NSMutableString *strTemp = [NSMutableString stringWithCapacity:[data length]*2];
        NSUInteger dataLength = [data length];
        for (NSInteger i=0; i < dataLength; ++i) {
            [strTemp appendFormat:@"%02lx",(unsigned long)szBuffer[i]];
    }
       NSString* result = [NSString stringWithString:strTemp];
       return result;
    }
    

    原文链接:https://blog.csdn.net/yuhao309/article/details/80609701

    相关文章

      网友评论

          本文标题:NSData转NSString时,返回为nil处理

          本文链接:https://www.haomeiwen.com/subject/kyaxactx.html