2

Base64 URLに関するこのWiki記事は言う

「このため、パディング '=' が使用されず、標準の Base64 の '+' と '/' 文字がそれぞれ '-' と '_' に置き換えられる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 に答える