NSDATA

+(NSString*)dataToString:(NSData*)data{

NSString*send1 = [datadescription];

NSMutableString*mStr = [[NSMutableStringalloc]initWithString:send1];

[mStrdeleteCharactersInRange:NSMakeRange(0,1)];

[mStrdeleteCharactersInRange:NSMakeRange(mStr.length-1,1)];

NSString*send = [mStrstringByReplacingOccurrencesOfString:@" "withString:@""];

returnsend;

}

+(NSString*)dataToHexString:(NSData*)data{

Byte*bytes = (Byte*)[databytes];

//下面是Byte转换为16进制。

NSString*hexStr=@"";

for(inti=0;i<[datalength];i++)

{

NSString*newHexStr = [NSStringstringWithFormat:@"%x",bytes[i]&0xff];///16进制数

if([newHexStrlength]==1)

hexStr = [NSStringstringWithFormat:@"%@0%@",hexStr,newHexStr];

else

hexStr = [NSStringstringWithFormat:@"%@%@",hexStr,newHexStr];

}

returnhexStr;

}


+(NSData*)hexStringToData:(NSString*)str

{

NSString*strTmp = [strstringByReplacingOccurrencesOfString:@"0x"withString:@""];

NSIntegerlengthTmp =strTmp.length/2;

SignedBytebytes[lengthTmp];

for(inti=0; i

intj = i*2;

NSString*tmp = [strTmpsubstringWithRange:NSMakeRange(j,2)];

unsignedintanInt;

NSScanner*scanner = [[NSScanneralloc]initWithString:tmp];

[scannerscanHexInt:&anInt];

bytes[i] = anInt;

}

return[NSDatadataWithBytes:byteslength:lengthTmp];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容