base64图片编码

base64简介

base64是一种编码形式,通常用于把二进制数据编码成可写的字符串形式的数据。这是一种可逆的编码形式。

8位变6位

base64编码将一个8位字节序列拆散位6位的片段,并为每个6位的片段分配一个字符;这个字符是Base64字母表中的64个字符之一。
可以安全的放在HTTP首部字段。这64个字符包括A-Za-z0-9+/。后面还会需要第65个字符"=";

数字 符号 数字 符号 数字 符号 数字 符号
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

base64 填充

base64编码会受到一个8位字节的序列,将这个序列流划分成6位的块。
如果序列无法正好划分成6位的块,则在后面填充0;使二进制序列的长度成为24的倍数(6和8的最小公倍数);如果不够公倍数,则后面填充6个1,转译成=;最新的浏览器提供了自动生成base64的方法atob和btob
例如:
btoa('ccc')
-->01100011 01100011 01100011
-->011000 110110 001101 100011
-->Y2Nj
btoa('cccc')
-->01100011 01100011 01100011 01100011
-->011000 110110 001101 100011 011000 110000 xxxxxx xxxxxx
-->Y2NjYw==
atob('Y2Nj')
-->011000 110110 001101 100011
-->01100011 01100011 01100011
-->ccc
atob('Y2NjYw==')
-->011000 110110 001101 100011 011000 110000 xxxxxx xxxxxx
-->01100011 01100011 01100011 01100011
-->cccc
atob("Y2NjYw")
-->011000 110110 001101 100011 011000 110000 xxxxxx xxxxxx
-->01100011 01100011 01100011 01100011
-->cccc

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Base64图片编码:由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成AS...
    胡自鲜阅读 354评论 0赞 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,249评论 19赞 139
  • 1、Base64编码原理 下图为Base64编码索引表: 字符选用了"A-Z、a-z、0-9、+、/" 64个可打...
    M_JCs阅读 1,919评论 1赞 9
  • Base64编码由来 Base64最早是用来解决电子邮件的传输问题。 传统的电子邮件是1982年定下技术规范的,详...
    Ashton阅读 2,776评论 0赞 6
  • 关键术语解释(下) 一、第1层 抽象字符表ACR (Abstract Character Repertoire抽象...
    笨笨阿林阅读 1,438评论 0赞 1

友情链接更多精彩内容