使用Windows Phone开发,我想用以下代码编写带有utf8编码的URI,但失败了。结果仍然是unicode,但不是%D6%DC的形式......
byte[] unicodeBytes = Encoding.Unicode.GetBytes(str);
byte[] utf8bytes = Encoding.Convert(Encoding.Unicode, Encoding.UTF8, unicodeBytes);
char[] utf8Chars = new char[Encoding.UTF8.GetCharCount(utf8bytes, 0, utf8bytes.Length)];
Encoding.UTF8.GetChars(utf8bytes, 0, utf8bytes.Length, utf8Chars, 0);
string utf8string = new string(utf8Chars);
var URI = new Uri("http://www.jpwy.net/gc/search.php?" + utf8string);
这有什么问题?
答案 0 :(得分:2)
我不确定你的目的是什么,但有没有理由不使用HttpUtility.UrlEncode来编码字符串? Urlencode的默认编码是UTF8。
您应该能够用
替换上面的代码var URI = new Uri("http://www.jpwy.net/gc/search.php?" + HttpUtility.UrlEncode(str));