- Base64簡介
- Base64 原理解析
- 編碼實現(xiàn)
Base64簡介
命令行運行base64編碼和解碼
- 對文件操作
將圖片base64編碼,并將編碼結(jié)果放在文件123.txt中
$ base64 123.png -o 123.txt
將文件123.txt解碼,并將解碼結(jié)果存為文件123.png
$ base64 123.png -o 123.txt
- 對文本操作
對字符串 "A"加密
$ echo -n "A" | base64
QQ==
對字符串 "QQ=="加密 解密
$ echo -n "QQ==" |base64 -D
A
Base64 原理解析
編碼實現(xiàn)
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
NSLog(@"編碼-- %@",[self base64Encoding:@"A"]);//QQ==
NSLog(@"解碼-- %@",[self base64Decoding:@"QQ=="]);//QQ==
}
- (NSString *)base64Encoding:(NSString *)string{
//1、把字符串轉(zhuǎn)換為二進制數(shù)據(jù)
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
//2、對二進制數(shù)據(jù)進行base64編碼 返回字符串
return [data base64EncodedStringWithOptions:kNilOptions];
}
- (NSString *)base64Decoding:(NSString *)string{
//1、先對數(shù)據(jù)進行base64解碼
NSData *data = [[NSData alloc] initWithBase64EncodedString:string options:kNilOptions];
//2、把二進制數(shù)據(jù)轉(zhuǎn)換為字符串
return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}
@end