base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,在google上随手一搜索,就可以找到好几个objective-c的版本,base64编码算法其实也是非常简单的,编码过程就是将3个字节共平均拆分成4个字节,这样,每个字节的值都落在0-63区间上了,然后分别对应A-Za-z0-9+/这64个字符,解码过程就是它的逆过程。
以下再简单的介绍一下这个转换的过程
源数据(3个字节): 10101101 10111010 01110110
拆分后(4个字节): 00101011 00011011 00101001 00110110
对应的十进制值为: 43 27 41 54
对应码表中的值: r b p 2
如果源数据不是3的倍数,则用零补齐,转换后的编码用=代码,所以就会看到有base64编码在末尾有1个或2个的=符号。
该过程比较简单,就不累述了,我实现的objective-C版本主要增强了容错能力、对较大的数据编码中的性能问题、以及直接对文件进行base64编码成文本文件等功能。
附件中的THUtility主要的方法有以下内心个方法:
1.对NSData的编码成NSString,及逆过程
2.直接对一个文件进行编码或解码
3.直接将文件编码或解码到另一个文件
本站下载:THUtility