2013-06-27 83 views
2

下面的代码行运行在IIS 快速罚款:Convert.FromBase64String(...)会抛出出现FormatException

Convert.FromBase64String("dmVoaWNsZUlkPTE0MTM=??"); 

但是,当我的本地IIS 8服务器上运行时,它抛出以下例外:

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

为什么会发生这种情况?

+1

根据msdn:http://msdn.microsoft.com/en-us/library/system.convert.frombase64string(v=vs.71).aspx抛出异常,当“长度s,忽略白色空格字符,不是4的偶数。“ 但为什么它在IIS Express上工作......很奇怪 – wojtuch

回答

12

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

有一个在这里阅读:https://en.wikipedia.org/wiki/Base64

该字符串应该以字母数字字符结束,或与一个或多个字符=来填充。

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

相关问题