`
jsntghf
  • 浏览: 2528299 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

将图片进行Base64编码后传输

    博客分类:
  • iOS
阅读更多

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息。使用Base64编码传输数据的主要好处是减少了HTTP请求,但却会使数据量变大。

 

Base64编码的思想是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组,以3个字节为一组。按顺序排列24位数据,再把这24位数据分成4组,即每组6位。再在每组的最高位前补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当所要编码的数据的字节数不是3的整数倍,也就是说在分组时最后一组不够3个字节,这时在最后一组填充1到2个0字节。并在最后编码完成后在结尾添加1到2个"="。

 

从以上编码规则可以得知,通过Base64编码,原来的3个字节编码后将成为4个字节,即字节增加了33.3%,数据量相应变大。所以20M的数据通过Base64编码后大小大概为20M * 133.3% = 26.67M。

 

主要用到了下面两个方法。

 

+ (NSString *) image2String:(UIImage *)image {
	NSData *pictureData = UIImageJPEGRepresentation(image, 0.5);
	NSString *pictureDataString = [pictureData base64Encoding];
	return pictureDataString;
}

+ (UIImage *) string2Image:(NSString *)string {
	UIImage *image = [UIImage imageWithData:[NSData dataWithBase64EncodedString:string]];
	return image;
}
分享到:
评论

相关推荐

    labview 图片缩放 base64编码base64解码

    反之,接收到Base64编码的图片后,可以先解码,再进行显示或进一步的处理。 为了实现以上功能,你需要对LabVIEW的图形化编程有深入理解,熟悉如何使用其内置的图像处理和字符串处理函数。同时,理解Base64编码的...

    QT图片BAse64编码与解码

    Base64是一种将二进制数据转换为可打印ASCII字符的编码方式,它通过特定的算法将每3个字节的数据转换为4个ASCII字符,使得原始的二进制数据可以在文本格式下进行传输和存储。QT框架,由Trolltech(现为Digia)开发,...

    Android图片的Base64编码与解码及解码Base64图片方法

    在Android开发中,有时我们需要将图片转换为Base64编码的形式以便在网络传输或者存储时使用。Base64编码是一种常见的二进制数据转化为文本的方法,它通过使用64个可打印字符来表示原本的二进制数据,使得数据可以在...

    JAVA将图片转换为Base64编码

    JAVA将图片转换为Base64编码 在本文中,我们将讨论如何使用...使用Base64编码可以将图片数据转换为文本数据,使得数据传输和存储更加安全和可靠。同时,我们也学习了如何使用Apache Commons Codec库来实现Base64编码。

    图片base64编码 ocr识别图片文字信息

    在IT行业中,图片Base64编码是一种常见的数据传输和存储方式,它将图片转换成文本字符串,便于在网络中传输,特别是在处理小程序等轻量级应用时尤为常见。OCR(Optical Character Recognition,光学字符识别)技术则...

    js对图片base64编码字符串进行解码并输出图像示例

    Base64是一种用于将二进制数据编码为ASCII字符串的编码方式,它在传输或存储非文本数据时非常有用,例如图片。 在HTML文档中,`<img>`标签通常用于展示图像,但在这里,我们将通过JavaScript来实现这一功能。首先,...

    易语言 base64编码转图片 如何 提高转换速度.zip

    在IT行业中,Base64编码是一种常见的数据编码方式,它将二进制数据转化为可打印的ASCII字符,常用于在网络上传输图片、音频或视频等非文本数据。易语言作为一款中国本土化的编程语言,提供了处理Base64编码的功能。...

    js 显示base64编码的二进制流网页图片

    第二种则是使用Data URI scheme直接在标签中嵌入Base64编码后的图片数据,如下所示:;base64,R0lGODlhAgACAIAAAP///wAAACwAAAAAAgACAAACAoRRADs=" />。这种方式可以节省HTTP请求,但需要注意的是,浏览器不会缓存...

    IOS-图片编码-Base64-例子

    在iOS开发中,有时我们需要将图片数据转换成字符串格式以便在网络上传输,这时Base64编码就显得尤为重要。Base64是一种用64个字符来表示任意二进制数据的方法,它将二进制数据转化为可打印的ASCII字符,使得图片可以...

    图片流转存Base64编码然后转图片 Spring 框下的

    本篇将详细讲解如何在Spring框架下,将图片流转存为Base64编码,并从Base64编码还原回图片。 首先,我们需要理解什么是图片流和Base64编码。图片流是指图片数据的一种序列化形式,它可以是字节流或字符流,通常用于...

    二维码生成 图片Base64编码解码

    二维码生成和图片Base64编码解码是两个在IT领域中常见的操作,广泛应用于数据传输、网页设计和移动应用等领域。下面将详细讲解这两个主题。 首先,二维码(Quick Response Code)是一种二维条形码,可以存储更多的...

    Base64.zip_labview base64

    Base64是一种常见的数据编码方式,它将任意的二进制数据转化为可打印的ASCII字符序列,常用于在电子邮件、HTML或JSON等不支持二进制传输的环境中传递数据。在LabVIEW中,通常我们可以通过编写自定义VI来实现Base64的...

    易语言汇编base64编码

    Base64编码是一种在网络上传输二进制数据时常用的数据编码方式,它将任意二进制数据转化为可打印的ASCII字符,方便在网络协议如电子邮件中传输。 Base64编码的基本原理是将每3个8位字节(24位)的数据转换成4个6位...

    Android.Base64对图片进行编码和解码

    本文将深入探讨如何使用Android的Base64库来对图片进行编码和解码。 ### 1. Base64编码原理 Base64是一种字符编码方式,将每3个8位字节(24位)的数据,转换为4个6位字节(24位)的数据,并使用64个可打印字符...

    Base64 and Base32Hex Encoding Using LabVIEW_labview_base32编码互转_b

    Base64和Base32Hex是两种常见的数据编码方式,主要用在将二进制数据转换为可打印的字符格式,以便在网络传输、文本存储等场景下使用。LabVIEW,全称Laboratory Virtual Instrument Engineering Workbench,是一款由...

    c++图片与base64互转

    在IT领域,尤其是在Web开发和数据传输中,Base...总的来说,C++和OpenCV库为处理图片与Base64编码提供了强大支持,使开发者能够在各种场景下灵活地进行数据转换,例如在网络上传输图片数据或者在数据库中存储图片信息。

    BASE64图片解码_解码_vba图片base64_base64_VBa_图片_

    BASE64是一种用于将二进制数据转换为可打印ASCII字符的编码方式,常用于在电子邮件、JSON对象或HTTP响应中传输图片等非文本内容。VBA作为Excel内置的脚本语言,可以方便地执行这类任务。 首先,理解BASE64编码的...

    java和js相互base64编码解码

    在IT行业中,Base64是一种常见的数据编码方式,它将任意二进制数据转换为可打印的ASCII字符,常用于在网络上传输包含非ASCII字符的数据,如图片或PDF等。在Java和JavaScript中,Base64编码和解码是两个重要的功能,...

    JSP severlet 动态 base64 编码 图片 显示处理

    2. **Web Service**: 在 Web Service 中,为了使服务能够跨平台、跨语言调用,通常会将图片等二进制数据转换为 Base64 字符串进行传输。 #### Base64 编码详解 Base64 编码是一种用于将二进制数据转换为 ASCII ...

Global site tag (gtag.js) - Google Analytics