Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript转义字符串未使用c#regex.Unescape()取消转义_Javascript_C#_.net_Escaping - Fatal编程技术网

javascript转义字符串未使用c#regex.Unescape()取消转义

javascript转义字符串未使用c#regex.Unescape()取消转义,javascript,c#,.net,escaping,Javascript,C#,.net,Escaping,我正在从JavaScript向c#控制器发送一个转义字符串,现在我希望它在c#中取消转义 我在c中使用了regex.Unescape()。因此,我将如何在c#中取消它的scape?使用Uri。如果您需要Unicode支持,并且无法使用System.Web中实现的unescape功能,请使用以下替换语句: string str = "%u0442%u043E%u0432%u0430%20%u0435%20text%20%14%u20AC"; //replace Unicode character

我正在从JavaScript向c#控制器发送一个转义字符串,现在我希望它在
c#
中取消转义


我在
c
中使用了
regex.Unescape()。因此,我将如何在
c#
中取消它的scape?

使用
Uri。如果您需要
Unicode
支持,并且无法使用
System.Web
中实现的
unescape
功能,请使用以下替换语句:

string str = "%u0442%u043E%u0432%u0430%20%u0435%20text%20%14%u20AC";

//replace Unicode characters
str = Regex.Replace(str, @"%U([0-9A-F]{4})",  match => ((char)int.Parse( match.Groups[1].Value, NumberStyles.HexNumber ) ).ToString(),RegexOptions.IgnoreCase );
//now replace ASCII character
str = Regex.Replace(str, @"%([0-9A-F]{2})",  match => ((char)int.Parse( match.Groups[1].Value, NumberStyles.HexNumber ) ).ToString(),RegexOptions.IgnoreCase );

Console.WriteLine(str);

你能在C#和javascript中转义相同的字符串吗?每个字符串的结果是什么?你能发布这个吗?你是如何用JavaScript转义字符串的?谢谢你的回答,但它不起作用,显示异常无效的URI,我正在发送“也许你应该尝试使用
URIEncodeComponent
客户端,而不是
escape
@Ates Goral,是的。很抱歉,我没有集中精力,一次处理一些事情。”。