Jam*_*ers 0 javascript c# encoding
我有一个Web服务方法,它将网络登录(字符串)作为参数.登录是从JavaScript编码的URL,因此DOMAIN\USERNAME被编码为DOMAIN%5CUSERNAME.当我在字符串上使用HttpUtility.URLDecode时,它会转义反斜杠并给我DOMAIN \\ USERNAME.我试图将它传递给配置文件提供程序(它只需要一个反斜杠)并且什么也没得到.
我试图做string.Replace()以及RegEx.Replace()并且似乎无法摆脱第二个反斜杠.
有谁知道解决这个问题的方法?现在,这只是一个概念证明,因为我不是网络用户名作为参数发布的粉丝; 但是,我仍然很想知道解决这个问题的方法.如果我不能从C#解决这个问题,我可以/应该在JavaScript端使用不同的编码方案吗?
它实际上并没有把它变成\\.这就是它在调试器下的样子.如果你想把它放在代码中,调试器会显示你必须使用的字符串文字.如果你将字符串打印到控制台,你会发现它没问题.
using System;
using System.Web;
class Test
{
static void Main()
{
string url = "DOMAIN%5CUSERNAME";
string decoded = HttpUtility.UrlDecode(url);
Console.WriteLine(decoded);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
DOMAIN\USERNAME
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4941 次 |
| 最近记录: |