注意:这是两种编码base64和base64url,不要混为一谈。(注:不过两者的区别确实不大)
关于base64可以参考这篇文章:https://blog.csdn.net/mijichui2153/article/details/106629860
总的来说就是选用"A-Z、a-z、0-9、+、/" 64个可打印字符来表示不可见字符(注:另外可能还有补齐用的"=")。诶,,好像出现了一些奇怪的字符。
参见这篇文章 https://blog.csdn.net/mijichui2153/article/details/105180626 可知'+'、'/'、'='在url中都属于特殊字符用于url的时候都是需要转义的。
其实base64和base64url的区别也就在这里。
base64编码结果中会有+、/、=三个特殊字符,它们在url中属于特殊字符是直接无法传递的;
base64url其实就是把字符中的'+'和'/'分别替换成'-'和'_',另外把末尾填充的‘=’去掉;其他都一样。