首先,讲一下btoa算法的原理:
1.bota算法是将字符串3个为一组进行分组
2.然后将字符串转换为其对应的ASCII码,将ASCII码再转换为二进制
ASCII码参考表:
https://baike.baidu.com/item/ASCII/309296?fr=aladdin&fromid=19660475&fromtitle=ascii%E7%A0%81%E8%A1%A8
3.再将二进制数从第一个开始,六个为一组进行分组,比如:CAT,转换为ASCII,是3*8,然后6位为一组划分后为4*6
4.分组完成后,左边都添加两个0,补齐到8位
5.然后将每一个转换为10进制,对照bash64找其对应的字符,连接起来就是加密后的字符串
注:1. 要求被编码字符是8bit的,所以须在ASCII编码范围内,\u0000-\u00ff,中文就不行。
2. 如果被编码字符长度不是3的倍数的时候,则都用0代替,对应的输出字符为=

原理讲完了,现在来看一下怎么用java实现:
js实现方式参考: