首页 > 代码库 > WP8实现UTF8 to GB2312转码的功能

WP8实现UTF8 to GB2312转码的功能

直接使用例如:http://www.abc.php?name=中文符 ,客户端调用,在服务端修改后,会出现乱码,

而windows phone 又不能直接支持gb2312, 经过大量分析和验证,发现 凡事 经过”从汉字转换到16进制”后,

即可成功实现转码,代码如下:

    string text = "中文符";            string url1 = "http://www.abc.php?name=";            string url2 = url1 + Utf8ToGb2312(text, true);/// <summary>       /// 从汉字转换到16进制       /// </summary>       /// <param name="argStrUtf8"></param>       /// <param name="argUseSeparator">是否每中文字符间用%分隔</param>       /// <returns></returns>       public static string Utf8ToGb2312(string argStrUtf8, bool argUseSeparator = true)       {            if ((argStrUtf8.Length % 2) != 0)           {               argStrUtf8 += " ";//空格            }           System.Text.Encoding chs = DBCSEncoding.GetDBCSEncoding("gb2312");//System.Text.Encoding.GetEncoding(charset);           byte[] bytes = chs.GetBytes(argStrUtf8);           string str = argUseSeparator ? "%" : "";           for (int i = 0; i < bytes.Length; i++)           {               str += string.Format("{0:X}", bytes[i]);               if (argUseSeparator && (i != bytes.Length - 1))               {                   str += string.Format("{0}", "%");               }           }           return str.ToUpper();       }

  详细说明:http://wp.662p.com/thread-8250-1-1.html