编码

CocoaSecurity常用框架
base64:
Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式,这样每一个字节的有效位为6位,则取值范围0~630 ~ (2^6 - 1)。如果最后剩下的字符不到3个字节,则用0填充,输出字符使用'=',因此我们看到Base64末尾会有1到2个'='。另外标准还要求每76个字符要插入换行(不过,这个视具体情况定)。

[[NSData alloc] initWithBase64EncodedData:data options:0];

外对于参数NSDataBase64EncodingOptions选项,有多种取值
NSDataBase64Encoding64CharacterLineLength:每64个字符插入\r或\n
NSDataBase64Encoding76CharacterLineLength:每76个字符插入\r或\n,标准中有要求是76个字符要换行,不过具体还是自己定
NSDataBase64EncodingEndLineWithCarriageReturn:插入字符为\r
NSDataBase64EncodingEndLineWithLineFeed:插入字符为\n
前两个选项为是否允许插入字符,以及多少个字符长度插入,两个可以选其一或者都不选。后两个选项代表要插入的具体字符。比如我们想76个字符后插入一个\r则可以NSDataBase64Encoding76CharacterLineLength | NSDataBase64EncodingEndLineWithCarriageReturn。而在上面举的例子中选项为0,则代表不插入字符。

你可能感兴趣的:(编码)