什么是Base64
Base64,顾名思义,就是包括小写字母a-z、大写字母A-Z、数字0-9、符号"+“、”/"一共64个字符的字符集,(另加一个“=”,实际是65个字符)。任何符号都可以转换成这个字符集中的字符,这个转换过程就叫做base64编码。
=号存在的意义是为了补位,base64编码后的长度需要是4个字符的倍数,如果不是4的倍数需要在结尾加上=
使用
fun base64Encode(data: String): ByteArray = Base64.getEncoder().encode(data.toByteArray())
fun base64Decode(data: String): ByteArray = Base64.getDecoder().decode(data)
###以hello world为例,先查看Encode之后的数据
val encode = base64Encode("hello world")
println("encoded: ${encode.joinToString(",")}")
println("encoded: ${encode.decodeToString()}")
输出结果是:
encoded: 97,71,86,115,98,71,56,103,100,50,57,121,98,71,81,61
encoded: aGVsbG8gd29ybGQ=
可以看到下面的一行是我们常见的Base64编码后的样式,是String类型的。
而上面的数组,则是十进制Ascall编码,比如97对应的就是a,71对应的是G
相信,经过以上例子,我们应该知道encode之后的数据是什么样的了。
而decode同理,也是十进制Ascall码组成的ByteArray.