如何在WP中将unicode转换为utf8

时间:2013-03-10 07:03:31

标签: unicode utf-8 windows-phone-8

使用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);

这有什么问题?

1 个答案:

答案 0 :(得分:2)

我不确定你的目的是什么,但有没有理由不使用HttpUtility.UrlEncode来编码字符串? Urlencode的默认编码是UTF8。

您应该能够用

替换上面的代码
var URI = new Uri("http://www.jpwy.net/gc/search.php?" + HttpUtility.UrlEncode(str));