广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >base64编码原理的示例分析
  • 854
分享到

base64编码原理的示例分析

2024-04-02 19:04:59 854人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关base64编码原理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 base64编码原理 最近在做将文件转成base64编码,并

这篇文章将为大家详细讲解有关base64编码原理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

base64编码原理

最近在做将文件转成base64编码,并保存在文件中。编码后的文件比编码前的文件大1/3。于是研究了一下base64编码的原理。

base64编码的由来

我们在通过网络传输文件时,并不是所有的字节都可以传输的。如我们在发送邮件时,只支持可见字符的传送,像ASCII码的控制字符不能通过邮件发送;图片的二进制流并不是每个字节都是可见字符。

这时候我们需要把不可见字符转换为可见字符。于是就有了base64编码,Base64就是一种基于64个可打印字符来表示二进制数据的表示方法。

base64编码原理

 看一下Base64的索引表,字符选用了"A-Z、a-z、0-9、+、/" 64个可打印字符。数值代表字符的索引,这个是标准Base64协议规定的,不能更改。64个字符用6个bit位就可以全部表示,一个字节有8个bit位,剩下两个bit就浪费掉了,这样就不得不牺牲一部分空间了。这里需要弄明白的就是一个Base64字符是8个bit,但是有效部分只有右边的6个bit,左边两个永远是0。

base64编码原理的示例分析

 如何将字符转换为base64编码,首先我们来看个例子,更容易理解

base64编码原理的示例分析

 首先我们将字符转换为二进制,将二进制数据分割,每6位分割成base64的有效为,然后在前补0,将补0 后的8位二进制转为十进制数据,十进制数据就是base64编码的索引,根据索引查找对应的编码即可。

8和6的最小公倍数是24,也就是说3个传统字节可以由4个Base64字符来表示,保证有效位数是一样的,这样就多了1/3的字节数来弥补Base64只有6个有效bit的不足。因此文件的大小也增加1/3。

原则是Base64字符的最小单位是四个字符一组,那这才两个字符,后边补两个"="吧。其实不用"="也不耽误解码,之所以用"=",可能是考虑到多段编码后的Base64字符串拼起来也不会引起混淆。由此可见Base64字符串只可能最后出现一个或两个"=",中间是不可能出现"="的。

关于“base64编码原理的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: base64编码原理的示例分析

本文链接: https://www.lsjlt.com/news/95576.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • base64编码原理的示例分析
    这篇文章将为大家详细讲解有关base64编码原理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 base64编码原理 最近在做将文件转成base64编码,并...
    99+
    2022-10-19
  • JS Base64编码解码的示例分析
    这篇文章主要介绍JS Base64编码解码的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 基础不牢,选型糟糕糟糕的技术选型往往源自自身技术广度不足。就在数月前,一个前端...
    99+
    2022-10-19
  • CSS中图片Base64编码的示例分析
    这篇文章主要介绍了CSS中图片Base64编码的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是 base64 编码  我不是来讲概念的,直接切入正题,图片的 b...
    99+
    2023-06-15
  • JavaScript中base64的示例分析
    这篇文章主要介绍了JavaScript中base64的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。base64 其实是一种编码转换...
    99+
    2022-10-19
  • Linux中Base64的示例分析
    这篇文章主要为大家展示了“Linux中Base64的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中Base64的示例分析”这篇文章吧。Base64编码在电子邮件中很常见,Fo...
    99+
    2023-06-27
  • java编程Reference核心原理示例源码分析
    带着问题,看源码针对性会更强一点、印象会更深刻、并且效果也会更好。所以我先卖个关子,提两个问题(没准下次跳槽时就被问到)。 我们可以用ByteBuffer的allocateDirec...
    99+
    2022-11-13
  • Base64图片编码解析及在各种浏览器兼容性处理的示例分析
    小编给大家分享一下Base64图片编码解析及在各种浏览器兼容性处理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!IE浏...
    99+
    2022-10-19
  • Base64编码的原理是什么
    这篇文章主要讲解了“Base64编码的原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Base64编码的原理是什么”吧!Base64是一种基于64个可打印字符来表示二进制数据的表示方...
    99+
    2023-06-27
  • Java Base64编码方法详解及实例分析
    Base64.encodeBase64String方法是一个Java语言中用于Base64编码的方法。它可以将二进制数据转换为Base64编码的字符串形式。在本文中,我们将详细解释这个方法的使用,提供完整的实例和代码,并分析运行结果。最后,...
    99+
    2023-09-04
    java 开发语言
  • jsonp原理的示例分析
    小编给大家分享一下jsonp原理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:跨域问题。二,跨域产生的原因Js是不...
    99+
    2022-10-19
  • AJAX原理的示例分析
    这篇文章将为大家详细讲解有关AJAX原理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先上原理图: 背景:   &nbs...
    99+
    2022-10-19
  • 微信扫码登录原理的示例分析
    小编给大家分享一下微信扫码登录原理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信扫码登录原理解析扫码登录是现在流行...
    99+
    2022-10-19
  • JVMCPUProfiler技术原理及源码的示例分析
    JVMCPUProfiler技术原理及源码的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。引言研发人员在遇到线上报警或需要优化系统性能时,常常需要分析程...
    99+
    2023-06-03
  • ReactContext原理深入理解源码示例分析
    目录开篇一、概念二、使用2.1、React.createContext2.2、Context.Provider2.3、React.useContext2.4、Example三、原理分...
    99+
    2023-01-03
    React Context原理 React Context
  • python装饰器原理源码示例分析
    目录前言一、什么是装饰器二、为什么要用装饰器三、简单的装饰器四、装饰器的语法糖五、装饰器传参六、带参数的装饰器七、类装饰器八、带参数的类装饰器九、装饰器的顺序前言 最近有人问我装饰器...
    99+
    2022-11-12
  • keep-alive原理的示例分析
    这篇文章将为大家详细讲解有关keep-alive原理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前言本文介绍的内容包括:keep-alive用法:动态组件...
    99+
    2022-10-19
  • MySQL分区表原理的示例分析
    这篇文章主要为大家展示了“MySQL分区表原理的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL分区表原理的示例分析”这篇文章吧。1、分区表含义...
    99+
    2022-10-18
  • JavaScript中的base64编码原理是什么
    今天小编给大家分享一下JavaScript中的base64编码原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。bas...
    99+
    2023-07-05
  • 如何分析JavaScrip中的Base64编码和解码
    今天就跟大家聊聊有关如何分析JavaScrip中的Base64编码和解码,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Base64是最常用的编码之一...
    99+
    2022-10-19
  • Memcached工作原理的示例分析
    这篇文章主要介绍Memcached工作原理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Memcached的工作原理。Memcached处理的原子是每一个(key,valu...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作