https://docs.microsoft.com/en-us/dotnet/api/system.convert.tobase64string?view=net-5.0
它说
如果不存在整数个 3 字节组,则剩余字节有效地用零填充以形成一个完整组。在本例中,最后一个字节的值为十六进制 FF。前 6 位等于十进制 63,对应于输出末尾的 base-64 位“/”,接下来的 2 位用零填充以产生十进制 48,对应于 base-64 位,“w”。最后两个 6 位值是填充,对应于无值填充字符“=”。
现在,
想象一下我发送的字节数组是
0
所以,只有一个字节,即0
那一个字节将被填充到 000 对吗?
所以现在,我们将使用类似 0=== 作为编码,因为在 base 64 编码中需要 4 个字符来编码 3 个字节。
现在,我们将对其进行解码。
我们怎么知道原始字节不是 00 或 000,而只是 0?
我一定在这里遗漏了一些东西。