例如,我有一个base64编码的字符串,想要解码它。字符串的长度是29个字符,所以很明显解码它我必须使用32个字符。
Convert.FromBase64()
最多只允许2个填充charcaters。根本没有因为base64编码而需要3个填充字符的情况吗?
答案 0 :(得分:2)
请参阅base64定义。它最多允许2个填充字符。请参阅此处的说明:https://en.wikipedia.org/wiki/Base64#Padding
答案 1 :(得分:1)
字符串的长度为29个字符
无论padding是什么,都不可能在base64中编码byte []并产生29个字符串。一个base64 char产生6位。字节[21]具有21×8 = 168位=> 168/6 = 28.0 base64 chars,完美契合。字节[22]具有22×8 = 176位=> 176/6 = 29.33个字符,最多30个字符。没有可能的byte []可以产生29个字符。
所以Convert.FromBase64()正确告诉你数据是垃圾。