IOS 开发学习25 NSData 的一些基本操作

来源:互联网 发布:linux 网络调试工具 编辑:程序博客网 时间:2024/05/24 06:53

NSString转NSData

NSString *aString = @"1234abcd";NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding]; 


NSData转NSString

NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];

NSData转UIImage

UIImage *aimage = [UIImage imageWithData: imageData];

沙盒图片转为NSData示例

NSString *path = [[NSBundle mainBundle] bundlePath];NSString *name = [NSString stringWithFormat:@"ceshi.png"];NSString *finalPath = [path stringByAppendingPathComponent:name];NSData *imageData = [NSData dataWithContentsOfFile: finalPath];UIImage *aimage = [UIImage imageWithData: imageData];

char * 转 NSData

 const char * string = "Hi there ,this is a C string";   //建立缓冲区,把字符串添加进去   NSData * data = [NSData dataWithBytes:string length:strlen(string)+1];   //输出   NSLog(@"data is %@",data);   NSLog(@"%lu bytes string is '%s'",[data length],[data bytes]);  

bytes转NSData

NSData *data = [NSData dataWithBytes: bytes  length:strlen(packet->getPayload())];

NSData转Byte数组

NSData *testData = [@“测试数据” dataUsingEncoding: NSUTF8StringEncoding];Byte *testByte = (Byte *)[testData bytes];

定义16进制字符串

NSString* str = [NSString stringWithFormat:@"%d", 0x0a];

NSSring转换为unsigned long

NSString *str = @"0xff055008";  //先以16为参数告诉strtoul字符串参数表示16进制数字,然后使用0x%X转为数字类型  unsigned long red = strtoul([str UTF8String],0,16);  //strtoul如果传入的字符开头是“0x”,那么第三个参数是0,也是会转为十六进制的,这样写也可以:  unsigned long red = strtoul([@"0x6587" UTF8String],0,0);  NSLog(@"转换完的数字为:%lx",red);  


0 0
原创粉丝点击