【问题标题】:Convert.FromBase64String(...) throws a FormatExceptionConvert.FromBase64String(...) 抛出 FormatException
【发布时间】:2013-06-24 16:51:36
【问题描述】:

以下代码行在 IIS Express 中运行良好:

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

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

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

为什么会这样?

【问题讨论】:

  • 根据msdn:msdn.microsoft.com/en-us/library/…抛出异常,当“s的长度,忽略空白字符,不是4的偶数倍。”。但是为什么它可以在 IIS Express 上运行......很奇怪

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


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    相关资源
    最近更新 更多