Chinaunix首页 | 论坛 | 博客
  • 博客访问: 108020
  • 博文数量: 253
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1815
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-12 14:31
文章分类

全部博文(253)

文章存档

2015年(18)

2014年(62)

2013年(173)

我的朋友

分类: iOS平台

2013-09-26 21:38:09


说明:BASE64不是用来加密的。你看看经过BASE64编码后的字符串,全部都是由标准键盘上面的常规字符组成,这样编码后的字符串在网关之间传递不会产生UNICODE字符串不能识别或者丢失的现象。你再仔细研究下EMAIL就会发现其实EMAIL就是用base64编码过后再发送的。然后接收的时候再还原。 还有一种情况下用BASE64编码也很好,比如一个图片文件,或者其他任何二进制文件。我可以把它编码成字符串。这样用XML或者数据库就能直接以文本的方式来存储这些文件了。base64是一种编码方式,编码算法完全公开,所以逆向解码即可
使用GTMBase64需要在工程中加入三个文件
GTMDefines.h GTMBase64.h GTMBase64.m 
示例代码:
#import"GTMBase64.h"
- (void)testExample { 
NSData *data = [@"HelloWorld"dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; 
NSString* encoded = [[NSString alloc] initWithData:[GTMBase64 encodeData:data] encoding:NSUTF8StringEncoding]; NSLog(@"encoded:%@", encoded); 
NSString* decoded = [[NSString alloc] initWithData:[GTMBase64 decodeString:encoded] encoding:NSUTF8StringEncoding]; 
NSLog(@"decoded:%@", decoded); 
[encoded release]; 
[decoded release]; 
}
输出:
2013-04-1012:13:10.121fs_test[7370:b603] encoded:SGVsbG9Xb3JsZA==2012-04-1012:13:10.122fs_test[7370:b603] decoded:HelloWorl
使用示例: 
引入头文件: #import "GTMBase64.h" 
UIImage *image; 
NSData *data= UIImagePNGRepresentation(image);     
if([data length]>0){         
data = [GTMBase64 encodeData:data];                 //编码
}


if([data length]>0){
        data = [GTMBase64 decodeData:data];                  //解码    
}
阅读(1176) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:不同线程中更新界面

给主人留下些什么吧!~~