【发布时间】:2014-03-18 12:41:36
【问题描述】:
我正在尝试对一些字符串进行 URL 编码,但是 .Net 框架提供的方法存在问题。
例如,我正在尝试包含“â”字符的编码字符串。例如,根据w3schools,我希望这个字符被编码为 '%E2' (我必须调用的 PHP 系统也需要这个......)。
我尝试使用这些方法:
System.Web.HttpUtility.UrlEncode("â");
System.Web.HttpUtility.UrlPathEncode("â");
Uri.EscapeUriString("â");
Uri.EscapeDataString("â");
但是,它们都将此字符编码为: %C3%A2
我想这与 .Net 中的字符串是 UTF-16 编码的事实有关。所以为了避免这个问题,我可以这样写:
"%" + ((int)character).ToString("X")
但是,我想知道框架是否已经有内置方法(我在此处或其他地方找不到任何关于我的字符为何以这种方式编码的答案)?
【问题讨论】: