Как вы удалите отступы из Модифицированной базы 64 для URL? - PullRequest
2 голосов
/ 21 января 2009

Эта статья в вики на Base64 URL говорит

"По этой причине существует модифицированный вариант Base64 для URL, где без заполнения '=' будет использоваться , а символы" + "и" / "в стандартном Base64 соответственно заменяются на" - 'и' _ ', поэтому использование кодировщиков / декодеров URL больше не требуется и не влияет на длину кодированного значения, оставляя ту же самую кодированную форму без изменений для использования в реляционных базах данных, веб-формах и идентификаторах объектов в целом. . "

Когда я пытаюсь удалить заполнение с помощью ASP.NET, я получаю сообщение об ошибке, когда мне возвращаются строки запроса. Как я могу учесть недостающие отступы?

1 Ответ

3 голосов
/ 21 января 2009
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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...