C# 如何检查字符串是否为html编码?
我正在使用我的web API。一些用户以HTML编码的形式发送参数字符串我想确定接下来的参数是HTML编码的还是纯文本的 我的WebAPI方法是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
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
字符串无效。