Base64的常用API
文/li大鹏(作者)
原文链接: http://www.jianshu.com/p/c7979bf62154
本文是我粘贴上述作者的,我对文章进行了简单的排版,方便大家阅读,也便于自己学习,希望原作者不会介意
/**************** Base 64 Options****************/
Base64是一组二进制到文本转化的方案,以ASSCII格式表示二进制数据,这些方案用来编码二进制数据以存储或者通过把多媒体文件转换成文本数据进行传输,这个能保证数据在传输的过程中的完整性。Base64醉常见的用于是处理电子邮件附件,或者解码小图片。在iOS7之前,Base64的编码和解码是需要自己实现的或者是使用第三方库,但是现在苹果提供一些API来实现Base64功能
//4.base64编码中的一些设置选择
//5.base64在解码过程中的option可选条件,下面选项表示在解码过程中忽略不能识别的字节
/****************Immutable Data不可变的Data****************/
//6.获取data长度的属性
//7.返回data对象的首指针
//8.返回一个ASCII编码格式的字符串,采用的格式是data属性列表的格式。
//9.取出data中指定长度的字节存入buffer这个提前声明的数组中
//9.取出data中指定位置range的字节存入buffer这个提前声明的数组中
//10.判断两个data是否相等
//11.截图data指定位置的子data
//12.将data写入指定的文件
//13.将data写入指定的url
//14.将data写入指定文件,并且有写入过程的设置条件,带错误信息
//15.将data写入指定的url,并且有写入过程的设置条件,带错误信息
//16.搜索在data1内部存在data2的位置,并且有搜索配置条件,并且可加入搜索的范围
//17.列举遍历字典的方法
/ 创建data的所有相关方法作为一个类别几种到一块 /
//18.data的快速创建办法
//19.赋值以bytes开头,长度为length的数据,进行初始化使其成为数据对象的内容
//20.这个方法生成的data中保存的是指向数据的指针,并没有对数据进行复制操作。
//21.这个方法生成的data中保存的是指向数据的指针,并没有对数据进行复制操作。当flag为yes的时候,生成的data对象是bytes的所有者,当data对象被释放的时候也会同时释放bytes,所以bytes必须是通过malloc在堆上分配的内存。当flag为no的时候,bytes不会被自动释放,释放bytes时要注意时机,不要再data对象还被使用的时候释放bytes。
//22.加载file文件,并且有可选择读取文件的选项配置条件,带有错误信息
//23.加载url,并且有可选择读取文件的选项配置条件,带有错误信息
//24.从参数path指定的文件读入二进制数据,用该数据初始化NSData对象。
//25.从参数path指定的url读入,用该数据初始化NSData对象。
//26.赋值以bytes开头,长度为length的数据,进行初始化使其成为数据对象的内容
//27.这个方法生成的data中保存的是指向数据的指针,并没有对数据进行复制操作。
//28.这个方法生成的data中保存的是指向数据的指针,并没有对数据进行复制操作。当flag为yes的时候,生成的data对象是bytes的所有者,当data对象被释放的时候也会同时释放bytes,所以bytes必须是通过malloc在堆上分配的内存。当flag为no的时候,bytes不会被自动释放,释放bytes时要注意时机,不要再data对象还被使用的时候释放bytes。
//29.
//30.从参数path指定的文件读入二进制数据,用该数据初始化NSData对象。如果读取文件失败,则释放调用者并返回nil,同时把错误信息写入指针errorPtr。mask是一个选项信息,用于指定是否使用虚拟内存等。
//31.从参数url指定的路径中读入,用该数据初始化NSData对象。如果读取文件失败,则释放调用者并返回nil,同时把错误信息写入指针errorPtr。mask是一个选项信息,用于指定是否使用虚拟内存等。
//32.加载flie文件路径
//33.加载url
//34.用指定的NSData对象aData来创建一个新的NSData对象,参数可以是NSMutableData对象。
//35.用指定的NSData对象aData来创建一个新的NSData对象,参数可以是NSMutableData对象。
@end
/*** base64方案编码分类 iOS7之后苹果给出以下四个API供实现base64方案 头两个是处理字符串的,后两个是处理UTF-8编码数据的,这两个承兑的方法功能是一样的,但是有时候用其中一个比另一个效率要高。如果你像要bae64编码字符串然后写进文件,你应该使用UTF-8编码数据的这对方法。如果你打算base64编码字符串之后用作json,你应该使用另外一对方法编码解码一一对应***/
//36.解码。将已经base64编码之后的字符串数据再转化为NSData数据,
//37.编码。将一个data数据利用base64方案转化成base64之后的NSString字符串
//38.解码。将已经base64编码之后的NSData数据再转化为NSData数据
//39.编码.将一个data数据利用base64方案转化成base64之后的NSData数据
示例程序:使用第一对编码解码API。
/****************Mutable Data可变data****************/
//40.可变data的可变字节
//41.可变data的长度
//42.给可变data追加字节
//43.给data追加其他的data
//44.为已经存在的data追加新的长度
示例程序:
//45.给data替换对应位置的字节
//46.重置可变data对应位置的字节
//47.为可变data设置data数据
//48.给data替换对应位置的字节, 并且存在替换长度
//49.动态创建可变data并且初始化指定大小
//50.动态创建可变data并且初始化指定长度
//51.静态创建可变data并且初始化指定大小
//52.静态创建可变data并且初始化指定长度
//1.data读取过程的可选配置条件
//2.data写入过程的可选配置条件
/****************Data Search Options****************/
//3.data在搜索过程中的可选配置条件
文/li大鹏(作者)
原文链接: http://www.jianshu.com/p/c7979bf62154
2024-05-14 广告