Вы не можете закодировать его с помощью base64, если он будет преобразован в нижний регистр из вашего контроля, base64 полагается на использование символов верхнего регистра.
Если согласование, которое ваш менеджер настаивает на том, что параметры строки входящего или исходящего запроса неправильно установлены, вы должны сообщить ему, что он нарушает спецификацию URI, в частности раздел query string. Разумеется, в конечном счете, это зависит от ваших собственных внутренних решений компании, независимо от того, хотите ли вы иметь только нижний регистр в своих внутренних URI, но вы не должны предполагать, что другие приложения, обрабатывающие URI, будут работать следующим образом.
Как указано выше, если вы можете сделать этот запрос POST (вместо GET, как я предполагаю, это сейчас), и при условии, что ваш менеджер не будет обмазывать их при отправке их:/Вы можете отправьте эти данные через POST.
В качестве альтернативы вы можете использовать Base32 вместо этого, чтобы использовать это, он полагается только на символы верхнего регистра, но вы можете просто преобразовать полученное значение в верхний регистр, получив его до декодирования строки (теперь Base32). Это довольно смешное решение, хотя ...
Только для того, чтобы быть понятным: «lol» будет кодировать в Base32 на «NRXWY ===», который затем будет ниже обрезанным до «nrxwy ===», который тогда можно было бы назад до «NRXWY ===» перед декодированием.
Эти два NuGet пакеты, которые делают base32 кодирование:
Base32 в соответствии с RFC4648 here и автор утверждает, что она протестирована и работает правильно.
Другой пакет, который выглядит привлекательным, потому что он поддерживает zBase32 here, преимущество zBase32 в том, что он уже использует строчные буквы, поэтому вам не придется беспокоиться об изменении корпуса. Привратник/автор включил инструкции о том, как получить кодировку zBase32
Оба из них (Base32 и zBase32) использовать подмножество символов Base64, поэтому они оба прекрасно работают с URIs, все charcaters используемые в URI (содержимое utf-8 не имеет значения, поскольку вы просто кодируете байты, так что вы будете получать те же самые байты при декодировании из Base32)
Является ли это полем значения формы, которое вы пытаетесь закодировать здесь? Если да, зачем включать его в Url, а не POST? – sachin
@sachin заставляет читателя не публиковать сообщения, он только получит (или, наконец, весь образец, предоставленный с get) – deadManN
'наш менеджер SEO настроит приложение, чтобы передать строчный URL-адрес, и он говорит, что он не изменит конфигурацию '- заставить ИТ-ребята настроить свой доступ в Интернет, чтобы он делал URL-адреса Youtube в нижнем регистре. – GSerg