我试图对一些字符串进行URL编码,但是我使用.Net框架提供的方法存在问题。URL编码ASCII/UTF16字符
例如,我正在尝试包含'â'字符的编码字符串。例如,根据w3schools,我希望这个caracter被编码为'%E2'(我必须调用一个PHP系统也期望这个...)。
我尝试使用以下方法:
System.Web.HttpUtility.UrlEncode("â");
System.Web.HttpUtility.UrlPathEncode("â");
Uri.EscapeUriString("â");
Uri.EscapeDataString("â");
然而,它们都编码这个字符为: %C3%A2
我想这事做的事实,在.net中的字符串是UTF-16编码的。因此,为了避免这个问题,我可以这样写,例如:
"%" + ((int)character).ToString("X")
不过,我想知道,如果框架已经有一个内置的方法(我不能在这里或其他地方找到任何答案为什么我的角色是这样编码的)?
由于两者的您。我没有注意到有超载......我给你答案,因为你是第一个回答。 – Matthieu