参考文章:其中文章的:http://blog.csdn.net/ztp800201/article/details/9470065
下载包
其中 包括GTMBase包下载地址 http://pan.baidu.com/share/link?shareid=928474681&uk=923776187
#import "ViewController.h"
#import "GTMBase64.h" @interface ViewController (){ } @end @implementation ViewController - (void)viewDidLoad
{
[super viewDidLoad]; } #pragma mark -GTMBas4 64编码 - (IBAction)codeclick:(id)sender { [self codeImg]; } - (IBAction)encodeClick:(id)sender {
[self DecodeImg];
} #pragma mark -文字编码
-(void)TextCode{
NSString *str=@"Hello world";
NSData *Data=[str dataUsingEncoding:NSUTF8StringEncoding];
//进行编码
Data =[GTMBase64 encodeData:Data];
NSString *codestr=[[[NSString alloc] initWithData:Data encoding:NSUTF8StringEncoding] autorelease];
self.lbMessage.text=codestr;
} #pragma mark -图片编码
-(void)codeImg{
NSString *path=[[NSBundle mainBundle] pathForResource:@"school_back" ofType:@"png"];
UIImage *img= [UIImage imageWithContentsOfFile:path];
NSData *data=UIImageJPEGRepresentation(img, 1.0);//UIImageJPEGRepresentation返回图片较小,但是清晰度模糊
// NSData *data=UIImagePNGRepresentation(img);//UIImagePNGRepresentation图片大,清晰 data= [GTMBase64 encodeData:data];
NSLog(@"-->%@",[[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]);
self.lbMessage.text=[[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
} //========================== #pragma mark -文字解码
-(void)TextDecode{
NSString *codeStr=self.lbMessage.text;
NSData *data=[codeStr dataUsingEncoding:NSUTF8StringEncoding];
data= [GTMBase64 decodeData:data];
self.lbMessage.text=[[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
} #pragma mark -图片解码
-(void)DecodeImg{
NSString *codestr=self.lbMessage.text;
NSData *data=[codestr dataUsingEncoding:NSUTF8StringEncoding];
data=[GTMBase64 decodeData:data];
UIImage *ima=[UIImage imageWithData:data];
self.img.image=ima;
} - (void)dealloc {
[_lbMessage release];
[_img release];
[super dealloc];
}
@end

ios中base64编码的更多相关文章

  1. Javascript中Base64编码解码的使用实例

    Javascript为我们提供了一个简单的方法来实现字符串的Base64编码和解码,分别是window.btoa()函数和window.atob()函数. 1 var encodedStr = win ...

  2. Python和shell中Base64编码使用那些事

    做开发第一个接触的编码方式就是Base64,当时是用url来传输一些参数,传输的两端会用Base64来编码和解码,保证数据不被url转义破坏. 下面是 维基百科 Base64 中的介绍,其实自己实现起 ...

  3. ios开发Base64编码以及加密相关学习

    一:.Base64补充 ```objc 1.Base64简单说明 描述:Base64可以成为密码学的基石,非常重要. 特点:可以将任意的二进制数据进行Base64编码 结果:所有的数据都能被编码为并只 ...

  4. IOS中的编码规范

    1.指导原则 [原则1-]首先是为人编写程序,其次才是计算机. 说明:这是软件开发的基本要点,软件的生命周期贯穿产品的开发.测试.生产.用户使用.版本升级和后期维护等长期过程,只有易读.易维护的软件代 ...

  5. python中base64编码与解码

    在python3中用base64进行编码和解码的时候特别注意: 题目要求: 准备一张.jpg图片,比如:mm.jpg,读取图片数据并通过b85encode加密之后写入到新文件mm.txt文件中,然后读 ...

  6. Python 中 base64 编码与解码

    base64 是经常使用的一种加密方式,在 Python 中有专门的库支持. 本文主要介绍在 Python2 和 Python3 中的使用区别: 在 Python2 环境: Python 2.7.16 ...

  7. 直播二:iOS中硬编码(VideoToolBox)

    硬编码相对于软编码来说,使用非CPU进行编码,如显卡GPU.专用的DSP.FPGA.ASIC芯片等,性能高,对CPU没有压力,但是对其他硬件要求较高(如GPU等). 在iOS8之后,苹果开放了接口,并 ...

  8. c#中base64编码解码

    //编码: byte[] bytes = Encoding.Default.GetBytes("要转换的字符"); string str = Convert.ToBase64Str ...

  9. BASE64编码的图片在网页中的显示问题的解决

    BASE64位转码有两种: 一种是图片转为Base64编码,这种编码是直接可以在页面通过<img src='base64编码'/>的方式显示 Base64 在CSS中的使用 .demoIm ...

随机推荐

  1. go语言之进阶篇正则表达式

    正则表达式是一种进行模式匹配和文本操纵的复杂而又强大的工具.虽然正则表达式比纯粹的文本匹配效率低,但是它却更灵活.按照它的语法规则,随需构造出的匹配模式就能够从原始文本中筛选出几乎任何你想要得到的字符 ...

  2. Redis学习手册(主从复制)(转)

    一.Redis的Replication: 这里首先需要说明的是,在Redis中配置Master-Slave模式真是太简单了.相信在阅读完这篇Blog之后你也可以轻松做到.这里我们还是先列出一些理论性的 ...

  3. CentOS下ssh sftp配置及权限设置

    运营有异地传输文件的需求,但如果通过QQ等即时通讯软件,不利于文件的集中管理,不方便.而我们办公室的内网机器无法提供外网访问方法,且传输的内容不合适放到公共的网盘或者是云存储上,所以只能用线上负载较低 ...

  4. 文本分类需要CNN?No!fastText完美解决你的需求(前篇)

    http://blog.csdn.net/weixin_36604953/article/details/78195462?locationNum=8&fps=1 文本分类需要CNN?No!f ...

  5. 如何检查显卡类型,DirectX和OpenGL的版本

    How To: Check the graphics card type and OpenGL version From: http://support.esri.com/technical-arti ...

  6. jQuery 1

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...

  7. 在Linux系统中增加和删除用户

    linux创建账户并自动生成主目录和主目录下的文件 在Linux系统中增加和删除用户 Linux添加用户(user)到用户组(group) usermod -a -G groupA user linu ...

  8. AT&T汇编和Intel汇编语法主要区别

    AT&T使用$表示立即操作数,而Intel的立即操作数是不需要界定的.因此,使用AT&T语法引用十进制值4时,使用$4,使用Intel语法时只需使用4.   AT&T在寄存器名 ...

  9. JAVA 数据库连接池(伪代码,简单易读)

    一.引言 近年来,随着 Internet/Intranet 建网技术的飞速发展和在世界范围内的迅速普及,电子商务的冲击波又一次在世界范围内掀起巨浪,各类商务网站吸引着大量用户的青睐,商务网站的访问量也 ...

  10. C# ACCESS数据库链接

    private void button1_Click(object sender, EventArgs e)        { string strConnection = "Provide ...