[英]How to encode and decode NSString in iOS?
I am developing an app which should support iOS5,iOS6,iOS7. 我正在开发应支持iOS5,iOS6,iOS7的应用程序。
In my app i want to encode my NSString
Data using base64encoding
. 在我的应用程序中,我想使用
base64encoding
对我的NSString
数据进行base64encoding
。
Following is the code I am using for encoding 以下是我用于编码的代码
NSString *userData = @"data";
NSString *base64EncodedString = [[userData dataUsingEncoding:NSUTF8StringEncoding]
base64EncodedStringWithOptions:0];
The above code is running fine in iOS7, but in iOS6 the application crashes,with the following error: 上面的代码在iOS7中运行正常,但是在iOS6中,应用程序崩溃,并出现以下错误:
[NSConcreteMutableData base64EncodedStringWithOptions:]
Is there any other way to encode data Or any function which support iOS6 & iOS7. 是否有其他任何方式编码数据或任何支持iOS6和iOS7的功能。
Can anyone help me out with this? 谁能帮我这个忙吗?
Thanks in Advance 提前致谢
Can't comment for some reason, so I'll link to an old StackOverflow answer that provides a plausible solution. 由于某些原因无法发表评论,因此我将链接到一个旧的StackOverflow答案 ,该答案提供了一个可行的解决方案。 Basically, you convert the NSString to NSData and encode the NSData.
基本上,您将NSString转换为NSData并对NSData进行编码。
+ (NSString *)toBase64String:(NSString *)string {
NSData *data = [string dataUsingEncoding: NSUnicodeStringEncoding];
NSString *ret = [NSStringUtil base64StringFromData:data length:[data length]];
return ret;
}
Of course, you could check for iOS7 and use initWithBase64EncodedString:options:
for that case. 当然,在这种情况下,您可以检查iOS7并使用
initWithBase64EncodedString:options:
:。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.