java中将字符串转成base64后为什么会边长
时间: 2023-08-10 15:03:48 浏览: 554
在将字符串转换为Base64编码时,由于Base64编码使用64个字符来表示数据,每个字符只能表示6个比特位,因此需要将原始数据按6个比特位一组进行拆分,并且不足6个比特位的最后一组需要进行补齐。
举个例子,如果原始数据是一个包含3个字节的字符串,它的ASCII码分别是`0x61`、`0x62`和`0x63`,则在转换成Base64编码时,需要将它们拆分成4个6比特位的组,即:
```
011000 01
011000 10
011000 11
```
注意最后一组只有3个字节,需要进行补齐,补齐后的结果为:
```
011000 01
011000 10
011000 11
000000 00
```
然后将每个6比特位的组转换为对应的Base64字符,最终得到的Base64编码为:
```
YWJjAA==
```
可以看到,经过Base64编码后,原始数据的长度增加了1/3,并且最终的Base64编码长度通常会比原始数据长度稍微长一些。
阅读全文
相关推荐



















