C# 将字符串转换为简单格式为.NET的uri
我想转换,例如: Aión转换为URI字符串,因此使用System.URI.EscapeDataString将其转换为Ai%C3%B3n,但我希望是Ai%F3n 我如何翻译字符,我想要的方式 我使用的是常规winform应用程序,而不是ASP页面 这会给你 这会给你C# 将字符串转换为简单格式为.NET的uri,c#,.net,C#,.net,我想转换,例如: Aión转换为URI字符串,因此使用System.URI.EscapeDataString将其转换为Ai%C3%B3n,但我希望是Ai%F3n 我如何翻译字符,我想要的方式 我使用的是常规winform应用程序,而不是ASP页面 这会给你 这会给你 感谢@Paul McCowat和该链接上的最后一个asnwer,我想出了一个可以满足我需要的函数: public static string ConvertToUri(string uri_string) {
感谢@Paul McCowat和该链接上的最后一个asnwer,我想出了一个可以满足我需要的函数:
public static string ConvertToUri(string uri_string)
{
StringBuilder Encoded = new StringBuilder();
foreach (char Ch in uri_string)
{
if (Uri.EscapeUriString(Ch.ToString()) != Ch.ToString())
{
Encoded.Append("%");
Encoded.AppendFormat("{0:x2}", Encoding.Unicode.GetBytes(Ch.ToString())[0]);
}
else
{
Encoded.Append(Ch);
}
}
return Encoded.ToString();
}
感谢@Paul McCowat和该链接上的最后一个asnwer,我想出了一个可以满足我需要的函数:
public static string ConvertToUri(string uri_string)
{
StringBuilder Encoded = new StringBuilder();
foreach (char Ch in uri_string)
{
if (Uri.EscapeUriString(Ch.ToString()) != Ch.ToString())
{
Encoded.Append("%");
Encoded.AppendFormat("{0:x2}", Encoding.Unicode.GetBytes(Ch.ToString())[0]);
}
else
{
Encoded.Append(Ch);
}
}
return Encoded.ToString();
}
如果它输出,这不是我需要的。。。我需要人工智能%F3n和。。。在非服务器应用程序中,我就是找不到函数。如果它输出该函数,这不是我需要的。。。我需要人工智能%F3n和。。。在非服务器应用程序中,我就是找不到函数。你能不能参考System.Web.dll并使用htmlity.htmlencode?我已经检查过了,并生成了与你下面所说的相同的输出,HttpUtility不是htmlity?这听起来像是一个字符集问题。这篇文章是关于可能需要的内容,我会再看一看你能不能不引用System.Web.dll并使用HtmlUtility.htmlencode我已经检查过了,并生成了与你下面所说的相同的输出,HttpUtility不是HtmlUtility这听起来像是一个字符集问题。这篇文章是关于可能需要的内容,我再看一下,对于代码范围大于256的字符,此代码不会产生正确的结果。请确保您对此感到满意。对于代码范围大于256的字符,此代码不会产生正确的结果。确保你对此感到满意。