变更记录

序号 录入时间 录入人 备注
1 2015-02-27 Alfred Jiang -
2 2015-12-18 Alfred Jiang -

方案名称

数据加密 - Base64 编码 ( NSData <=> NSString )

关键字

数据加密 \ 编码 \ 解码 \ Base64 \ NSData \ NSString \ NSData <=> NSString

需求场景

  1. 需要将 NSData 类型数据转为 NSString 类型数据时
  2. 对 NSString 或 NSData 有 Base64 编码需求时

参考链接

  1. GitHub - google-toolbox-for-mac
  2. CSDN - Base64编码介绍

详细内容

iOS 实现 Base64 编码主要通过 Google Toolbox for Mac 中的 GTMBase64 相关文件实现。

  1. 下载 Google Toolbox for Mac 工程文件,将该工程中以下三个文件引入自己工程中 ```objective-c GTMDefines.h

GTMBase64.h

GTMBase64.m


2. 实现如下编码解码方法

.h文件

```objective-c
#pragma mark - base64
+ (NSString*)encodeBase64String:(NSString *)input;
+ (NSString*)decodeBase64String:(NSString *)input;
+ (NSString*)encodeBase64Data:(NSData *)data;
+ (NSString*)decodeBase64Data:(NSData *)data;

.m文件

#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;
}

效果图

(无)

备注

(无)

results matching ""

    No results matching ""