首页 > 其他分享 >什么是Base64 编码,Base64 编码有哪些优缺点

什么是Base64 编码,Base64 编码有哪些优缺点

时间:2022-10-26 18:00:28浏览次数:55  
标签:编码 加密 字符 二进制 Base64 优缺点 传输


很多朋友在工作中,可能经常会用到Base64编码。Base64编码是网络上很常见的用于8Bit字节码的编码方式之一,那么,大家知道为什么要使用Base64 编码,Base64 编码有哪些优缺点呢?下面,我们一起来研究一下。

什么是Base64 编码,Base64 编码有哪些优缺点_数据

什么是Base64 编码

Base64是一种用64个字符来表示任意二进制数据的方法。它是一种编码方式,而非加密方式。它通过将二进制数据转变为64个“可打印字符”,完成了数据在HTTP协议上的传输。Base64是从二进制数据到字符的过程。所以计算机中所有的内容,包括文本、图片、音频、视频等等都可以使用Base64编码来表示。

为什么要使用Base64 编码

1、电子邮件协议smtp只能传输ASCII码可打印字符(注:[0,31],及127, 33个属于不可打印的控制字符),所以可以使用base64编码解决;

2、在传输数据中进行简单加密,不会一眼看出明文;

3、http协议中,可对图片的资源进行base64处理,使接口格式统一。

Base64 编码有哪些优缺点

优点:减少一个图片的http请求。

缺点:

1、根据Base64的编码原理,编码后的大小会比原文件大小大1/3,如果把大图片编码到html/css中,不仅会造成文件体积增加,影响文件的加载速度,还会增加浏览器对html或css文件解析渲染的时间。

2、使用Base64无法直接缓存,要缓存只能缓存包含base64的文件,比如HTML或者CSS,这相比于直接缓存图片的效果要差很多。

3、兼容性的问题,ie8以前的浏览器不支持;一般一些网站的小图标可以使用base64图片来引入。

Base64 是加密算法吗?

Base64 主要不是用来加密的,它主要的用途是把一些二进制数转成普通字符用于网络传输,这是因为一些二进制字符在传输协议中属于控制字符,不能直接在网络上传输。另外,还有一些系统中只能使用ASCII字符。

Base64 编码就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。Base64 并不是安全领域下的加密解密算法,虽然有时候也会经常看到所谓的Base64加密解密算法。

什么是Base64 编码,Base64 编码有哪些优缺点_缓存_02


其实Base64只能算是一个编码算法,对数据内容进行编码来适合网络传输。虽然Base64编码过后原文也变成无法直接理解的字符格式,但是这种编码方式比较初级,很简单,很容易就可以被还原成原文,所以如果有比较重要的信息需要加密,一定要使用我们之前文章中介绍的那些加密算法进行数据的安全保护。

以上介绍了什么是Base64 编码,为什么要使用Base64 编码以及Base64 编码的优缺点。在工作中我们经常会用到Base64,对Base64要充分地理解,不要把它当做加解密用到业务系统关键位置,避免引发严重后果。相信大家看了以上的内容,对Base64 编码有了基本的了解。



标签:编码,加密,字符,二进制,Base64,优缺点,传输
From: https://blog.51cto.com/u_15693888/5798140

相关文章

  • 什么是Base64 编码,Base64 编码有哪些优缺点
    很多朋友在工作中,可能经常会用到Base64编码。Base64编码是网络上很常见的用于8Bit字节码的编码方式之一,那么,大家知道为什么要使用Base64编码,Base64编码有哪些优缺点呢?下面......
  • 【原创】合约编码方式解析
    例1:函数定义:functionbaz(uint32x,booly)publicpurereturns(boolr){r=x>32||y;}实际调用:baz(69,true)编码为:方法ID——0xcdcd77c0,方法baz(uint32......
  • 字符编码与freetype移植
    ASCIIascii是“AmericanStandardCodeforInformationInterchange”的缩写,美国信息交换标准代码。电脑毕竟是西方人发明的,他们常用字母就26个,区分大小写、加上标点......
  • Qt读取ANSI格式文件——利用QTextCodec将其他编码格式转换为Unicode格式
    Qt使用Unicode来表示字符串。但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等。Qt提供了QTextCodec......
  • 【Java八股】Java反射的优缺点
    Java反射的优点:增加程序的灵活性,可以在程序运行过程中动态的对类进行修改和操作。提高代码的复用率,比如动态代理,就是利用了反射来实现。可以在运行时轻松获取任意一个......
  • 计算机信号码元与编码
    计算机需要处理和传输用户的文字、图片、音频和视频,他们可以统称为消息,数据是运送消息的实体,计算机只能处理二进制数据,也就是比特0和比特1。计算机中的网卡将比特0和比特1......
  • 将图片转为Base64字符串
    publicclassImageToBase64Demo{publicstaticvoidmain(String[]args)throwsIOException{StringimgPath="1.jpg";StringimageToBase64=I......
  • 【759】seq2seq(编码器和解码器)和注意力机制
    参考:动手学深度学习第十八课:seq2seq(编码器和解码器)和注意力机制以机器翻译作为示例讲解的,相关笔记如下:Encoder与Decoder之间的关联,可以是最后的隐含层,或者不同的Attenti......
  • 连续结构的优缺点
    ​优点:简单支持顺序存取和随机存取所需的磁盘寻道次数和寻到时间最少可以同时读入多个块,检索一个块也很容易缺点:文件不能动态增长预留空间:浪费或  重新分配和移动链接结......
  • 【转】单页面应用程序优缺点
    图片来自黑马程序员      ......