如何编码包含Unicode的网址?我想将它传递给命令行实用程序,我需要先对其进行编码。
示例:http://zh.wikipedia.org/wiki/白雜訊
变为http://zh.wikipedia.org/wiki/%E7%99%BD%E9%9B%9C%E8%A8%8A
。
答案 0 :(得分:7)
您可以在System.Web
程序集中使用HttpUtility.UrlPathEncode
方法(需要完整的.NET Framework 4配置文件):
var encoded = HttpUtility.UrlPathEncode("http://zh.wikipedia.org/wiki/白雜訊");
答案 1 :(得分:5)
根据MSDN,您不能再使用UrlPathEncode。
所以,现在正确的做法是,
var urlString = Uri.EscapeUriString("http://zh.wikipedia.org/wiki/白雜訊");
答案 2 :(得分:0)
Server.UrlEncode(s);
.NET字符串本身就是Unicode字符串(UTF-8编码,具体而言)所以你只需要调用HttpServerUtility.UrlEncode(尽管所谓的“内在”服务器属性在asp的大多数情况下都可用) .net你可能想要这样做。)
答案 3 :(得分:0)
我有土耳其字符问题。<a href="/@Html.Raw(string)"
解决了问题