NSData转化为Base64编码的API  

在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字符串以换行结束。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • /**ios常见的几种加密方法: 普通的加密方法是讲密码进行加密后保存到用户偏好设置( [NSUserDefaul...
    彬至睢阳阅读 3,018评论 0 7
  • NSData全部API学习。 大家好,我是大鹏,在socket网络编程传输的过程中NSData用的地方很多,也总结...
    li大鹏阅读 7,862评论 1 2
  • 转载:http://blog.csdn.net/luobo140716/article/details/45224...
    国有士无双阅读 588评论 0 0
  • One day, You are born You are like flower Your families,y...
    19days阅读 288评论 0 0
  • 四、细节操作 1,整体节奏介绍 玄策跟韩信、李白差不多,没有什么AOE技能、也没回复,中上下都打不了,所以最好的分...
    一半的人阅读 608评论 0 1