NSData类型转换成NSString类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSData类型转换成NSString类型相关的知识,希望对你有一定的参考价值。

参考技术A 刚开始在网上找到的方法如下:

(1)NSData* data;

NSString* aStr= [NSString alloc] initWithData:dataencoding:NSASCIIStringEncoding];

可是这样的值为null。

后来又找了一个方法,

(2)专门写一个分类,转换出来有值,可是确实一堆乱码。

NSData *pushToken --> NSStrin *self.apnsToken

后来居然用很简单的方法就实现了,方法如下:

self.apnsToken= [NSStringstringWithFormat:@"%@",deviceToken];

不可思议吧。

下面附上从APNS上获得的token是NSData类型,要转成NSString类型的方法:

//获取token

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken

// NSData类型转NSString类型,将device token转换为字符串

self.apnsToken= [NSStringstringWithFormat:@"%@",deviceToken];

NSLog(@"---NSData类型token转成NSString--%@",self.apnsToken);

self.apnsToken= [[self.apnsTokensubstringWithRange:NSMakeRange(0,72)]substringWithRange:NSMakeRange(1,71)];

//将deviceToken保存在NSUserDefaults

//保存device token令牌,并且去掉空格

[USERDEFAULTsetObject:[self.apnsTokenstringByReplacingOccurrencesOfString:@" "withString:@""]forKey:APNS_DeviceToken];

[USERDEFAULTsynchronize];

NSLog(@"---存储的APNStoken--%@", [USERDEFAULTobjectForKey:APNS_DeviceToken]);

NSString转换为UIImage

 

+(NSString *)makeImageToString:(UIImage *)image{
//第一步,先将image转换为data类型
NSData *imageData = UIImageJPEGRepresentation(image, 2.0);
//将NSData类型转换为NSString类型
NSString *string = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
return string;
}

//NSString转换为UIImage

+(UIImage *)makeStringToImage:(NSString *)string{
//将字符串转换为data类型
NSData *strData = [[NSData alloc]initWithBase64EncodedString:string options:NSDataBase64DecodingIgnoreUnknownCharacters];
//将data转换为图片
UIImage *image = [UIImage imageWithData:strData];
return image;
}

以上是关于NSData类型转换成NSString类型的主要内容,如果未能解决你的问题,请参考以下文章

NSString转换为UIImage

NSString NSDictionary 和char *类型之间的转换

ios 中怎样将汉字转成nsdata

ios中怎么把一个data类型转换成字符串

如何将String转换成UInt8或NSData

Swift - 将String类型的数字转换成数字类型(支持十进制十六进制)