Base64 编码


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

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

例子:编码"Man"

文本Man
ASCII编码7797110
二进制位010011010110000101101110
索引1922546
Base64编码TWFu




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

base64 URL:
data:;[option;]base64,