ios7之后提供Base64的API

本文介绍了iOS7之后引入的Base64编码API,包括针对字符串和UTF-8编码数据的方法。这些API适用于处理JSON数据和文件写入场景。在iOS7之前,相关API作为私有方法存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在IOS7之后,苹果提供了将NSData转化为Base64编码的API

<span style="font-size:18px;">/* Create an NSData from a Base-64 encoded NSString using the given options. By default, returns nil when the input is not recognized as valid Base-64.
*/
- (instancetype)initWithBase64EncodedString:(NSString *)base64String options:(NSDataBase64DecodingOptions)options NS_AVAILABLE(10_9, 7_0);

/* Create a Base-64 encoded NSString from the receiver's contents using the given options.
*/
- (NSString *)base64EncodedStringWithOptions:(NSDataBase64EncodingOptions)options NS_AVAILABLE(10_9, 7_0);

/* Create an NSData from a Base-64, UTF-8 encoded NSData. By default, returns nil when the input is not recognized as valid Base-64.
*/
- (instancetype)initWithBase64EncodedData:(NSData *)base64Data options:(NSDataBase64DecodingOptions)options NS_AVAILABLE(10_9, 7_0);

/* Create a Base-64, UTF-8 encoded NSData from the receiver's contents using the given options.
*/
- (NSData *)base64EncodedDataWithOptions:(NSDataBase64EncodingOptions)options NS_AVAILABLE(10_9, 7_0);</span>

其中前两个方法是用来处理字符串的,后两个方法是用来处理UTF-8编码数据的。比如如果是将编码字符串用作JSON数据,使用前两个方法,而将编码字符串写入文件,使用后两个。


对于IOS7之前的版本,以下API应该是之前就存在,只是之前为私有方法:

<span style="font-size:18px;">- (id)initWithBase64Encoding:(NSString *)base64String NS_DEPRECATED(10_6, 10_9, 4_0, 7_0);
- (NSString *)base64Encoding NS_DEPRECATED(10_6, 10_9, 4_0, 7_0);</span>


对于IOS7之后在NSData通过Base64转化为NSString时,有一个枚举参数:NSDataBase64EncodingOptions
有四个值,在将其转化为NSString时,对其进行了处理:

NSDataBase64Encoding64CharacterLineLength其作用是将生成的Base64字符串按照64个字符长度进行等分换行。

NSDataBase64Encoding76CharacterLineLength其作用是将生成的Base64字符串按照76个字符长度进行等分换行。

NSDataBase64EncodingEndLineWithCarriageReturn其作用是将生成的Base64字符串以回车结束。

NSDataBase64EncodingEndLineWithLineFeed其作用是将生成的Base64字符串以换行结束。



参考:

http://my.oschina.net/u/248165/blog/224319


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值