变更记录
方案名称
数据加密 - Base64 编码 ( NSData <=> NSString )
关键字
数据加密 \ 编码 \ 解码 \ Base64 \ NSData \ NSString \ NSData <=> NSString
需求场景
- 需要将 NSData 类型数据转为 NSString 类型数据时
- 对 NSString 或 NSData 有 Base64 编码需求时
参考链接
- GitHub - google-toolbox-for-mac
- CSDN - Base64编码介绍
详细内容
iOS 实现 Base64 编码主要通过 Google Toolbox for Mac 中的 GTMBase64 相关文件实现。
下载 Google Toolbox for Mac 工程文件,将该工程中以下三个文件引入自己工程中
1 2 3 4 5
| GTMDefines.h
GTMBase64.h
GTMBase64.m
|
实现如下编码解码方法
.h文件
1 2 3 4 5
| #pragma mark - base64 + (NSString*)encodeBase64String:(NSString *)input; + (NSString*)decodeBase64String:(NSString *)input; + (NSString*)encodeBase64Data:(NSData *)data; + (NSString*)decodeBase64Data:(NSData *)data;
|
.m文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| #pragma mark - base64 + (NSString*)encodeBase64String:(NSString * )input { NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; data = [GTMBase64 encodeData:data]; NSString *base64String = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; return base64String; }
+ (NSString*)decodeBase64String:(NSString * )input { NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; data = [GTMBase64 decodeData:data]; NSString *base64String = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; return base64String; }
+ (NSString*)encodeBase64Data:(NSData *)data { data = [GTMBase64 encodeData:data]; NSString *base64String = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; return base64String; }
+ (NSString*)decodeBase64Data:(NSData *)data { data = [GTMBase64 decodeData:data]; NSString *base64String = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; return base64String; }
|
效果图
(无)
备注
(无)