У меня есть приложение Java, отправляющее HTTP-запросы в приложение C#. Приложение C# использует HTTPListener для прослушивания запросов и ответа. На стороне Java я кодирую URL-адрес с помощью UTF-8.C# Ошибка кодирования HTTPListener
Когда я отправляю символ \, он получает кодировку как% 5C, как ожидалось, но на стороне C# он становится символом /. Кодировка для объекта запроса - это Windows-1252, который, как я думаю, может вызвать проблему. Как установить кодировку по умолчанию для UTF-8?
В настоящее время я делаю это, чтобы преобразовать кодировку:
foreach (string key in request.QueryString.Keys)
{
if (key != null)
{
byte[] sourceBytes =request.ContentEncoding.GetBytes(request.QueryString[key]);
string value = Encoding.UTF8.GetString(sourceBytes));
}
}
Это обрабатывает символы не ASCII Я также отправки, но не решает проблему слэш. Изучение request.QueryString [key] в отладчике показывает, что/уже существует.