Base64 编码

Tags
htmlweb
Created
Nov 23, 2015 7:16 AM

https://stackoverflow.com/questions/6008047/why-is-base128-not-used

base64 有两种,RFC 4648 和 base64url,auth0 签发的 jwt 和 web push 的 key 都是第二种,不带 /

https://github.com/tc39/proposal-arraybuffer-base64#but-which-base64

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个位元为一个单元,对应某个可打印字符。三个字节有24个位元,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。

例子:编码“Man”

文本
M
a
n
ASCII编码
77
97
110
二进制位
0
1
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
1
1
0
索引
19
22
5
46
Base64编码
T
W
F
u

如果要编码的字节数不能被3整除,最后会多出1个或2个字节,那么可以使用下面的方法进行处理:先使用0字节值在末尾补足,使其能够被3整除,然后再进行base64的编码。在编码后的base64文本后加上一个或两个'='号,代表补足的字节数。

base64 URL:

data:<mime>%3B[option;]base64,<code>

SuperMade with Super