很多朋友在工作中,可能经常会用到Base64编码。Base64编码是网络上很常见的用于8Bit字节码的编码方式之一,那么,大家知道为什么要使用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解码的网站:https://www.md5.cn/

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

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

相关文章:

什么是DES算法,详解DES算法的基本原理_哈客部落的博客-CSDN博客_des算法的核心DES算法是应用最为广泛的对称加密算法。它主要应用在计算机网络通信、电子资金传送系统、保护用户文件,此外,DES还可用于计算机用户识别系统中。那么,具体什么是DES算法,DES算法的基本原理是什么,本文将给大家详细介绍一下。https://blog.csdn.net/m0_69916115/article/details/127412563一文读懂md5,md5有什么用,什么是md5加盐_哈客部落的博客-CSDN博客md5是一种密码散列函数,在计算机安全领域得到广泛的应用。本文将带大家了解一些md5的知识点,什么是md5,md5有什么用,什么是md5加盐,为什么md5不可逆,为什么md5可能会被解密?帮助大家快速了解md5,感兴趣的朋友继续往下看吧。https://blog.csdn.net/m0_69916115/article/details/127249454

什么是Base64 编码,Base64 编码有哪些优缺点?相关推荐

  1. Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略

    Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介.案例应用(python中的编码格式及常见编码问题详解)之详细攻略 目录 符串编码(ASCII编码/GB ...

  2. 便利贴--41{js - base64 - _utf8_ 的编码和解码}

    便利贴--41{便利贴--41{js - base64 - _utf8_ 的编码和解码}} 编码 解码 utf8 合并 编码 this.encode = function (input) {_keyS ...

  3. Java Base64加密解密编码解码

    起因 最近因为项目要做等保,需要对用户提交的字段进行加密存储,但是还需要做查询,所以需要能解密. 办法 目前打算采用rsa非对称加密保存数据,实现数据加密和解密,但是很尴尬的发现生成的公钥和秘钥居然是 ...

  4. Base64和URL编码

    URL为什么使用百分号编码(URL编码) 1.一些数据(二进制串)无法在URL中使用字符表示(以US-ASCII字符集举例,其中的一些 字符 并不能显示的表示出来,如响铃) 2.传输的字符是URL中保 ...

  5. Base64与百分号编码相关 - iOS

    一. Base64 编码 Base64 是许多 web 协议的标准,在日常开发中很多地方会需要利用 Base64 进行编解码的操作; 在相互转换操作的时候,可以借用 NSData 来执行,例如接口中提 ...

  6. java base64 实现,Base64编码实现(Java)

    最近还在读Cay Horstmann的Core Java这本书.在第二卷第三章第四小节中讲到了一个Base64编码.读了许久,终于把它读懂了.特此记录下来,以便将来用得到! 首先看一下Wikipedi ...

  7. URL Safe base64 与 base64相互转换

    为什么需要base64? ASCII码一共规定了128个字符的编码,这128个符号,范围在[0,127]之间. 其中,[0,31],及127, 33个属于不可打印的控制字符. 在电子邮件传输信息时,有 ...

  8. php中usc2编码,规则编码说明

    标签: [编码][/编码] --通常,中文网站的编码只需要测试这4中,"gbk.utf8.gb2312转utf8",部分是\u9a8c是这样的,需要用编码"usc2&qu ...

  9. 关于文字转base64,base64转文字的坑(数字短信)

    中文与base64互转(数字短信) 最近在做一个阿里云数字短信 短信内容包括文字.图片.视频.音频,比彩信高级一点点. 其中的文字.图片.视频.音频内容都需要转换成base64格式的文件来传输. 图片 ...

  10. 字符串转base64,base64转字符串

    [JavaScript原生提供两个Base64相关方法] btoa():字符串或二进制值转为Base64编码 atob():Base64编码转为原来的编码 注意:base64转码为+号的后台存储问题, ...

最新文章

  1. python request.get()_使用Python request.get解析无法一次加载的html代码
  2. 两步设置:visual studio code(vscode)如何设置文本自动换行
  3. mongo备份索引_【MongoDB学习之四】索引 聚合 备份与恢复 监控
  4. docker报错解决办法:Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp
  5. 异常详细信息: System.Runtime.InteropServices.COMException: 无效的类别字符串
  6. plsql如何显示表结构图_【论文攻略】排版技巧——如何用 Word 编辑参考文献
  7. 12-思科防火墙:ASA会话超时
  8. Python | 这是过七夕吗?这是趁机学习一下下,就一下~~
  9. 伪随机数生成器——random模块的用法
  10. win10+Vmware14+Centeros7.6 mini网络设置
  11. Python注释的写作笔记
  12. oracle数据库性能调优技术--深入理解散列连接执行计划
  13. MySQL日志(一条sql更新语句是如何执行的)
  14. oracle数据转换,Oracle数据库转换函数
  15. 解压.tar.bz2文件命令
  16. Python操作PDF的神器——PyMuPDF
  17. 为什么很多人工资不高,却还是要拥挤在大城市生活?
  18. 自律的力量 No Excuse: the power of self-discipline
  19. PMBOK(第六版) 学习笔记 ——《第十三章 项目相关方管理》
  20. 瑞幸突击2018,一场互联网向咖啡发起的进攻 | 一点财经

热门文章

  1. springboot JWT Token 自动续期的解决方案
  2. 查看xp计算机物理地址,Xp系统怎么更改物理地址?WinXp系统修改物理地址的方法...
  3. 绑定点击事件调用百度微信分享
  4. 数据分析之利用EXCEL做数据分析
  5. python-小米-句子反转
  6. 裸辞指的是什么?裸辞到底好不好?
  7. 数学建模(NO.7相关系数—假设检验)
  8. 8. 数仓开发之 DIM 层
  9. php 美颜,怀念以前无滤镜美颜的影视剧
  10. 再读王垠的《编程的智慧》,有怎样的感想?