2

这篇关于Base64 URL的 Wiki 文章说

“出于这个原因,存在一个修改过的 Base64 for URL 变体,其中不会使用填充 '=',标准 Base64 的 '+' 和 '/' 字符分别替换为 '-' 和 '_',这样不再需要使用 URL 编码器/解码器,并且对编码值的长度没有影响,保持相同的编码形式完整,可用于关系数据库、Web 表单和一般的对象标识符。”

当我尝试使用 ASP.NET 删除填充时,在获取查询字符串时出现错误。我该如何解释缺少的填充?

4

1 回答 1

3
string encoded = GetBase64FromQueryString();

encoded = encoded.PadRight(NextMultiple(encoded.Length, 4), '=');
...
static int NextMultiple(int value, int multiple)
{
    int r = value % multiple;
    return value + (r != 0 ? multiple - r : 0);
}
于 2009-01-21T10:43:00.553 回答