Base64 是一种十分流行的编码方式,仅仅使用 64 个字符加等号(=) 就可以以文本的形式表示所有的二进制数据了,因为它能够把二进制格式通过编码转换成可见字符,所有我们就可以通过的把二进制格式比如图片,文件等通过 base64 编码然后通过文本的形式共享出去,是不是很神奇呀。

编码流程

  1. 把输入的数据转换成 二进制的形式
  2. 每 3 个 8bit 为一组拆分为 4 个 6bit 8*3=6*4=24
  3. 拆分后的 6bit 的高位补两个 0 组成新的 8bit
  4. 把新的 8bit 转化为 10进制,然后查表得到最终的字符串
  5. 如果最后不够 3 个 8bit,分两种情况
    1. 有 2 个 8bit 差 1 个 8bit,由于 8*2=6+6+4=16,可以拆出来 2 个 6bit 和 一个不完整的 4bit,base64 编码规定给不足 6bit 的差几个 bit 补几个0,4bit 低位补 2 个0,组成了 6bit,由于一共需要 4个 6bit,前面一共产生了 3 个,还差 1 个,base64 编码规定 差几个 6bit 补几个 '=',这里差一个,所以在最后补一个 =,这也是为什么有时候能看到 base64 最后以等号结束
    2. 有 1 个 8bit 差 2 个 8bit,由于 8=6+2,可以拆出来 1 个 6bit 和一个不完整的 2bit,先给 2bit 低位补 4 个 0 组成 6bit,然后还差 2 个 6bit 组成 4 个 6bit,因此在最后添两个 =

编码表

base64的编码表如下:

base64 编码表

下面来举例说明:

有一个字符串”abcd”

           a         b         c        dASCII:    0x61      0x62      0x63     0x648bit:  01100001   01100010  01100011 0110 01006bit:  011000   010110  001001 100011  011001 000000 = =十进制:  24       22      9       35     25      0查码表得: Y        W      J       j      Z       A   =  =最终结果:YWJjZA==

看这个动画演示吧:

动画演示 bae64 编码过程

base64编码_动画演示 Base 64 编码相关推荐

  1. css3宽度变大动画_动画演示流量计的工作原理

    ​ 流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液体.蒸汽等介质流量的测量.为了更好的展示流量计测量原理,小 ...

  2. java 获得平台编码_关于Java平台的编码

    需要注意编码格式的地方有很多,好多默认的编码格式也都是不统一的,如果设置不当,就容易出现中文乱码现象. 关于编辑器的编码: 用记事本和Eclipse编辑保存的文件,默认都是操作系统的编码,即GBK. ...

  3. java实现.费诺编码_香农费诺编码的matlab实现.doc

    香农费诺编码的matlab实现.doc 信息论与编码实验香农费诺编码的matlab实现学院班级-姓名学号摘要 用预先规定的方法将文字.数字或其他对象编成数码,或将信息.数据转换成规定的电脉冲信号.编码 ...

  4. labview霍夫曼编码_为什么霍夫曼编码好?

    7 个答案: 答案 0 :(得分:3) 如果为最常用使用的符号指定较少的数字或位或较短的代码字词,则可以节省大量存储空间. 假设您要为英文字母分配26个唯一代码,并希望根据这些代码存储英文小说(仅限字 ...

  5. css3宽度变大动画_动画演示14种流量计的工作原理,真涨见识!

    点上面蓝色字体直观学机械可长期订阅我们 法律顾问:赵建英律师 流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液 ...

  6. css3宽度变大动画_动画演示14种流量计的工作原理,长知识

    流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液体.蒸汽等介质流量的测量.为了更好的展示流量计测量原理,小编采 ...

  7. css3宽度变大动画_动画演示14种流量计的工作原理,真涨见识

    流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液体.蒸汽等介质流量的测量.为了更好的展示流量计测量原理,小编采 ...

  8. css3宽度变大动画_动画演示流量计的工作原理,真涨见识

    流量计(Flowmeter)是工业生产的眼睛,与国民经济.国防建设.科学研究有着密切的关系,在国民经济中占据重要地位与作用,可用于气体.液体.蒸汽等介质流量的测量.为了更好的展示流量计测量原理,小编采 ...

  9. 算法训练营 重编码_我们最成功的编码训练营学生共有的17个角色特征

    算法训练营 重编码 披露: Fullstack学院 ,编码集训,此前曾赞助黑客中午. 很多时候, 完成一项工作所需的技能与获得这份工作所需的技能不一致. 例如,要获得计算机科学学位,您将花费大量时间阅 ...

最新文章

  1. 第11章 支撑向量机SVM
  2. 验证码识别的原理python_Python验证码识别处理实例
  3. SecureCRT 连接虚拟机Linux
  4. 学院-读书:影响世界的100本书
  5. 《DirectX 9.0 3D游戏开发编程基础》 第一章 初始化Direct3D 读书笔记
  6. 黑客工具包ShadowBrokers浅析
  7. 如何将 txt 文本文件保存为 html 文件
  8. 五种IO模型简介以及IO多路转接之select
  9. 计算机网络毕业设计选题背景,毕业设计论文选题依据与背景
  10. 滑窗口统计基因组GC含量的分布
  11. vue 生成qrCode二维码保存图片至本地
  12. 怎么看电脑的hdmi是输出还是输入_笔记本hdmi接口是输入还是输出
  13. 现有的评分和排名算法
  14. 商业智能BI与业务管理决策思维之二:业务结构分析
  15. android 视频添加音乐,手机怎么给视频加音乐,安卓手机软件怎么给视频添加音乐比较方便...
  16. android 乐固加固,android - 上应用宝之前,使用乐固 进行加固。 (只能在windows 下)...
  17. 用计算机弹最简单的歌,计算器也能演奏美妙音乐
  18. VR购物之初体验:Buy+
  19. [aaronyang]分享我的博客园皮肤代码
  20. Beta阶段展示博客

热门文章

  1. 【LeArm】动手实践机械臂(一)
  2. 【数据结构】链表的python实现
  3. Mysql多源复制半同步_MySQL多源复制搭建
  4. 内存泄漏的原因及解决办法_浅谈 JS 内存泄漏问题
  5. Emscripten 单词_分享15个英语单词记忆方法,简单实用,赶紧收藏吧!
  6. LeetCode-124.二叉树中的最大路径和
  7. js 报错:object is not a function
  8. 获取字符串的真实长度
  9. 我的2008,专注而行
  10. 关于域名注册、投资问题的相关解释