NSData类型转换成NSString类型

刚开始在网上找到的方法如下:

(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]);

}

你可能感兴趣的:(NSData类型转换成NSString类型)