我有一个Java应用程序发送HTTP请求到C#应用程序。 C#应用程序使用HTTPListener来侦听请求并进行响应。在Java方面,我使用UTF-8对URL进行编码。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]显示/已经存在。