Convert.FromBase64String(...)抛出FormatException

时间:2013-06-27 08:59:40

标签: c# .net iis base64 iis-express

以下代码行在 IIS Express

中正常运行
Convert.FromBase64String("dmVoaWNsZUlkPTE0MTM=??");

但是当在我的本地 IIS 8服务器上运行时,它会引发以下异常:

  

System.FormatException:输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或填充中的非法字符字符。

为什么会这样?

1 个答案:

答案 0 :(得分:13)

最后两个字符“??”在基本64字符串中无效。

请在此处阅读:https://en.wikipedia.org/wiki/Base64

字符串应以字母数字字符结尾或填充一个或多个=个字符。

编辑 - 解码不带?字符的字符串会返回“vehicleId=1413”,所以我想这只是删除它们的情况。