iOS-NSString-Base64String-Base64原理
2016-06-29 16:02
357 查看
之前看到好多人找Str2Base64Str,还有好多自己写了方法的,仔细研究了下base64的编码原理(这个我写在下面),发现官方的API已经可以完成这项功能,这里贴出来供大家参考。
一言不合就上代码:
上面代码中有两个参数“Options”,一个是EnCode,一个是DeCode,其中DeCode就一个可选,EnCode有4个,选择哪一个都行,目前我发现,各个参数仅是打印出来后的样式不一样,内容一样,应该是为了方便打印debug而设置的(个人猜测,很可能不对)。
Base64原理这里粗略的讲一下,表格不太好弄,我就直接图片了,加一个文档下载地址:点我下载文档
一言不合就上代码:
NSString * sourceString = @"test"; NSString *base64String = [[sourceString dataUsingEncoding:NSUTF8StringEncoding] base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; // 大概是这个样子的 // NSData * strData = [sourceString dataUsingEncoding:NSUTF8StringEncoding]; // NSString * base64StringT = [strData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed]; NSLog(@"%@",base64String); NSString * restoreString = [[NSString alloc]initWithData:[[NSData alloc] initWithBase64EncodedString:base64String options:NSDataBase64DecodingIgnoreUnknownCharacters] encoding:NSUTF8StringEncoding]; // 大概是这个样子的 // NSData * baseStrData = [[NSData alloc] initWithBase64EncodedString:base64String options:NSDataBase64DecodingIgnoreUnknownCharacters]; // NSString * restoreStringT = [[NSString alloc]initWithData:baseStrData encoding:NSUTF8StringEncoding]; NSLog(@"%@",restoreString);
上面代码中有两个参数“Options”,一个是EnCode,一个是DeCode,其中DeCode就一个可选,EnCode有4个,选择哪一个都行,目前我发现,各个参数仅是打印出来后的样式不一样,内容一样,应该是为了方便打印debug而设置的(个人猜测,很可能不对)。
Base64原理这里粗略的讲一下,表格不太好弄,我就直接图片了,加一个文档下载地址:点我下载文档
相关文章推荐
- iOS 图片裁剪与居中显示
- iOS可执行文件瘦身方法
- iOS中集成ijkplayer视频直播框架
- ios页面跳转
- iOS 获取系统日期时间
- iOS开发3D Touch基本开发与使用
- 成为iOS顶尖高手,你必须来这里(这里有最好的开源项目和文章)
- iOS Xcode工程目录的 folder 和 group的区别(蓝色和黄色文件夹的区别)
- [iOS]创建界面方法的讨论
- ios 气泡聊天
- IOS开发—修改状态栏颜色
- iOS文件目录结构
- iOS 时间戳 时间串 比较和转换
- [iOS 拍照上传] 上传图片 旋转 + 压缩大小
- iOS开发The Operation couldn't be completed.(LaunchServicesError error 0.)的解决方法
- iOS开发之AFNetworking 3.0.4使用
- iOS中常用动画大集合
- iOS 提示框,为什么你应该使用 MBProgressHUD?
- IOS 协议和代理模式 With小demo
- Embedded dylibs/frameworks only run on iOS 8 or later