1 c# url-encoding windows-store-apps
在某些Windows应用商店应用中,我需要发送URL
new Uri(string.Format(@"http://www.site.com?word={0}",
sourceText))
Run Code Online (Sandbox Code Playgroud)
,sourceText某些文本的转义表示在哪里.如果我需要UTF-8,那将很容易,但我需要Windows-1251编码.
我试过了
byte[] unicodeBytes = Encoding.Unicode.GetBytes(sourceText);
byte[] win1251bytes = Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding("windows-1251"), unicodeBytes);
string sourceText =
Uri.EscapeUriString(Encoding.GetEncoding("windows-1251").GetString(win1251bytes, 0, win1251bytes.Length));
Run Code Online (Sandbox Code Playgroud)
但Uri.EscapeUriString使用string,自动转换为Unicode.
我可以使用HttpUtility.UrlEncode(word, Encoding.GetEncoding(1251),但System.Web.HttpUtility在.NET Store中没有.
例如,在'привет' UTF-8:%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82; 在Windows-1251中:%EF%F0%E8%E2%E5%F2.我需要第二个字符串
怎么样WebUtility.UrlEncode?
它位于System.Net命名空间中,更多信息请访问:http://msdn.microsoft.com/en-us/library/system.net.webutility.urlencode.aspx