Url中文编码_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Url中文编码

Url中文编码

 2013/11/18 10:36:26  ForNeter  博客园  我要评论(0)
  • 摘要:几个重要的方法:Encoding.UTF8.GetString(byte[])Encoding.UTF8.GetBytes(String)Encoding.GetEncoding(String).GetBytes(String)Encoding.GetEncoding(String).GetString(byte[])Convert.ToString(byte,int)Convert.ToByte(String,int)classProgram{staticvoidMain
  • 标签:URL 编码
   几个重要的方法:
                 Encoding.UTF8.GetString(byte[])
Encoding.UTF8.GetBytes(String)

Encoding.GetEncoding(String).GetBytes(String)
Encoding.GetEncoding(String).GetString(byte[])
Convert.ToString(byte,int)
Convert.ToByte(String,int)




class Program { static void Main(string[] args) { string str = "中文大吧天"; //Gb2312编码 Console.WriteLine(GB2312(str)); //GB2312解码 Console.WriteLine(DeGB2312(GB2312(str))); //UTF8编码 Console.WriteLine(EnUTF8(str)); //UTF8解码 Console.WriteLine(DeUTF8(EnUTF8(str))); Console.ReadKey(); } /// <summary> /// GB2312编码 /// </summary> /// <param name="str">待编码字符</param> /// <returns>编码结果</returns> public static string GB2312(string str) { StringBuilder sb = new StringBuilder(); //GB2321的编码方式 byte[] byStr = System.Text.Encoding.GetEncoding ("GB2312").GetBytes(str); for (int i = 0; i < byStr.Length; i++) { //转换为16进制方式 可选2,8,10,16进制 sb.Append(@"%" + Convert.ToString(byStr[i], 16)); } return (sb.ToString()); } /// <summary> /// GB2312解码 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string DeGB2312(string str) { byte[] bytes = new byte[str.Split('%').Length ]; int i=0; foreach (var item in str.Split('%')) { if (item !="") { //转换为16进制的字节 bytes[i] = Convert.ToByte(item,16); i++; } } //GB2312的解码 return Encoding.GetEncoding ("GB2312").GetString(bytes); } /// <summary> /// UTF8编码 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string EnUTF8(string str) { StringBuilder sb = new StringBuilder(); byte[] byStr = System.Text.Encoding.UTF8.GetBytes(str); for (int i = 0; i < byStr.Length; i++) { sb.Append(@"%" + Convert.ToString(byStr[i], 16)); } return (sb.ToString()); } /// <summary> /// UTF8解码 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string DeUTF8(string str) { byte[] bytes = new byte[str.Split('%').Length ]; int i=0; foreach (var item in str.Split('%')) { if (item !="") { bytes[i] = Convert.ToByte(item,16); i++; } } return Encoding.UTF8.GetString(bytes); } }

程序链接
 

 

发表评论
用户名: 匿名