JavaScript からエスケープされた文字列を C# コントローラーに送信していますが、c#
.
で使用regex.Unescape()
しましc#
たが、機能しません。では、どのようにエスケープ解除しc#
ますか?
JavaScript からエスケープされた文字列を C# コントローラーに送信していますが、c#
.
で使用regex.Unescape()
しましc#
たが、機能しません。では、どのようにエスケープ解除しc#
ますか?
Uri.Unescape
またはを使用してください。このページUnescapeDataString
を参照してください
Unicode
サポートが必要で、 にunescape
実装されている機能を使用できない場合はSystem.Web
、代わりに次の replace ステートメントを使用できます。
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);