Base64编码与进制转换
前两天朋友发我一个不知是段子还是真事的事儿,我刚刚把它转发到了知乎上:有哪些让你目瞪口呆的 bug? - 竹取辉夜的回答 - 知乎。
大意就是有人想转64进制,然后从网上抄了段代码,遇上了一个很扯淡的bug。是挺逗的。
这事笑过之后,我又有点纳闷儿,64进制是什么玩意儿,怎么会有这种需求?然后我Google了一下,发现还真有这种需求。现在用Google搜js 64进制
的话排第一的就是段子里的人说的那个。
于是跟朋友讨论了下……突然发现这代码里面的64进制,不就是base64编码么?
然后又想了想,base64,base不就是数字进制的意思么?
又一想,通常的base64编码是对字节进行的,那,一串字节序列,不就是一个256进制的数么?
闹了半天,所谓的base64编码,其实就是一个进制转换啊……256进制转64进制。
好吧其实应该是个初学者的问题了,不过确实前两天才刚刚发现这个原理。发文记一下。