前两天朋友发我一个不知是段子还是真事的事儿,我刚刚把它转发到了知乎上:有哪些让你目瞪口呆的 bug? - 竹取辉夜的回答 - 知乎

大意就是有人想转64进制,然后从网上抄了段代码,遇上了一个很扯淡的bug。是挺逗的。

这事笑过之后,我又有点纳闷儿,64进制是什么玩意儿,怎么会有这种需求?然后我Google了一下,发现还真有这种需求。现在用Google搜js 64进制的话排第一的就是段子里的人说的那个。

于是跟朋友讨论了下……突然发现这代码里面的64进制,不就是base64编码么?

然后又想了想,base64,base不就是数字进制的意思么?

又一想,通常的base64编码是对字节进行的,那,一串字节序列,不就是一个256进制的数么?

闹了半天,所谓的base64编码,其实就是一个进制转换啊……256进制转64进制。

好吧其实应该是个初学者的问题了,不过确实前两天才刚刚发现这个原理。发文记一下。