如何检查字符串是否经过 html 编码?

How to check a string is html encoded or not?

我正在使用我的网站 API。某些用户发送的参数字符串为 HTML 编码我想确定即将到来的参数是 HTML 编码还是纯文本。

我的网站 API 方法是

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');

它将在控制台中显示为原始内容。