Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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
C# 如何检查字符串是否为html编码?_C#_Html_Asp.net Web Api_Encode - Fatal编程技术网

C# 如何检查字符串是否为html编码?

C# 如何检查字符串是否为html编码?,c#,html,asp.net-web-api,encode,C#,Html,Asp.net Web Api,Encode,我正在使用我的web API。一些用户以HTML编码的形式发送参数字符串我想确定接下来的参数是HTML编码的还是纯文本的 我的WebAPI方法是 public HttpResponseMessage Get(string Accesskey, string AccessPwd) { // code logic } 我得到的Accesskey是Html编码的,就像 Accesskey="AbIfZVn4y514sJbt%2BCCMJy6lsmsMi6uOWyhUhynDSf1MEqZ%2F

我正在使用我的web API。一些用户以HTML编码的形式发送参数字符串我想确定接下来的参数是HTML编码的还是纯文本的

我的WebAPI方法是

public HttpResponseMessage Get(string Accesskey, string AccessPwd)
{
   // code logic
}
我得到的Accesskey是Html编码的,就像

Accesskey="AbIfZVn4y514sJbt%2BCCMJy6lsmsMi6uOWyhUhynDSf1MEqZ%2FWJnwUuCFO8zMFa4jCRWQrXHKdBaHd9CCdDNfoKDnPg1W9No16JQbL2DBEGg%3D";
我想要像这样的输出

Accesskey="AbIfZVn4y514sJbt+CCMJy6lsmsMi6uOWyhUhynDSf1MEqZ/WJnwUuCFO8zMFa4jCRWQrXHKdBaHd9CCdDNfoKDnPg1W9No16JQbL2DBEGg="

一种技术应该是强制URL解码并检查结果是否与源字符串相同

using System;
using System.Web;

var incomingStrings = new[] { "not encoded", "encodéd" };

foreach (var incomingString in incomingStrings)
{
    Console.WriteLine(IsUrlEncoded(incomingString));
}

private bool IsUrlEncoded(string source)
{
    return source != HttpUtility.UrlDecode(source);
}
你可以用

console.log('yourtext');

它将在控制台中显示为原始版本。

是否为HTML编码值的纯文本?您可以尝试使用Uri()类()Yes@Levenko。我得到了这种类型的字符串。不需要检查。简单的html解码传入字符串并使用。如果字符串是htm编码的,那么您将得到解码字符串,如果不是,那么您将得到实际的普通字符串。当您单击“从Gistlyn运行代码”时,它是否工作?您的代码正在工作。但如果我有HTML编码的字符串,则它不工作。我已经更新了我的问题,请参见上面的编码字符串AccessKeyYou正在混合HTML编码和URL编码。见我的编辑欢迎你。如果是,请将其标记为解决方案。谢谢。@labilbe这对
CJK
字符串无效。