iOS开发Objective-C:Base64格式数据转换回原数据
在iOS开发中,可以使用NSData和NSString类提供的方法来将Base64格式的数据转回原数据。
以下是Objective-C代码示例:
// 导入需要使用的类
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// Base64格式的字符串
NSString *base64String = 'SGVsbG8gd29ybGQ=';
// 将Base64格式的字符串转为NSData
NSData *base64Data = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
// 将NSData转为原数据
NSString *originalString = [[NSString alloc] initWithData:base64Data encoding:NSUTF8StringEncoding];
// 输出转换后的原数据
NSLog(@'%@', originalString);
}
return 0;
}
运行以上代码可以输出:'Hello world'。
在以上代码中,首先使用NSData的initWithBase64EncodedString:options:方法将Base64格式的字符串转为NSData对象。然后,使用NSString的initWithData:encoding:方法将NSData对象转为原数据。
需要注意的是,initWithBase64EncodedString:options:方法中的options参数是一个选项,用于指定Base64解码方式。常用的选项有:
NSDataBase64DecodingIgnoreUnknownCharacters:忽略非Base64字符,常用于解码URL中的Base64字符串。NSDataBase64DecodingIgnoreUnknownCharacters:忽略非Base64字符和尾部的填充字符('='),常用于解码没有填充字符的Base64字符串。
根据实际需求选择合适的选项。
另外,需要注意的是,以上代码中使用的是UTF8StringEncoding来解码原数据。如果原数据是使用其他编码方式编码的,需要根据实际情况选择合适的编码方式。
原文地址: https://www.cveoy.top/t/topic/qu3h 著作权归作者所有。请勿转载和采集!