zoukankan      html  css  js  c++  java
  • URL中文编码

            /// <summary>
            /// GB2312编码
            /// </summary>
            /// <param name="str">待编码字符</param>
            /// <returns>编码结果</returns>
          

     1  public static string GB2312(string str)
     2         {
     3             StringBuilder sb = new StringBuilder();
     4             //GB2321的编码方式
     5             byte[] byStr = System.Text.Encoding.GetEncoding ("GB2312").GetBytes(str);
     6             for (int i = 0; i < byStr.Length; i++)
     7             {
     8                 //转换为16进制方式 可选2,8,10,16进制
     9                 sb.Append(@"%" + Convert.ToString(byStr[i], 16));
    10             }
    11             return (sb.ToString());
    12         }
    View Code


             /// <summary>
            /// GB2312解码
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
           

     1 public static string DeGB2312(string str)
     2         {
     3             byte[] bytes = new byte[str.Split('%').Length ];
     4             int i=0;
     5             foreach (var item in str.Split('%'))
     6             {
     7                 if (item !="")
     8                 {
     9                     //转换为16进制的字节
    10                     bytes[i] = Convert.ToByte(item,16);
    11                     i++;
    12                 }
    13               
    14             }
    15             //GB2312的解码
    16             return Encoding.GetEncoding ("GB2312").GetString(bytes);
    17         }
    View Code



            /// <summary>
            /// UTF8编码
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
           

     1 public static string EnUTF8(string str)
     2         {
     3             StringBuilder sb = new StringBuilder();
     4             byte[] byStr = System.Text.Encoding.UTF8.GetBytes(str);
     5             for (int i = 0; i < byStr.Length; i++)
     6             {
     7                 sb.Append(@"%" + Convert.ToString(byStr[i], 16));
     8             }
     9 
    10             return (sb.ToString());
    11         }
    View Code


            /// <summary>
            /// UTF8解码
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
           

     1 public static string DeUTF8(string str)
     2         {
     3             byte[] bytes = new byte[str.Split('%').Length ];
     4             int i=0;
     5             foreach (var item in str.Split('%'))
     6             {
     7                 if (item !="")
     8                 {
     9                     bytes[i] = Convert.ToByte(item,16);
    10                     i++;
    11                 }
    12               
    13             }
    14             return Encoding.UTF8.GetString(bytes);
    15         }
    View Code

     ///C# 32位md5
    /// <summary>
    /// 获得32位的MD5加密
    /// </summary>
    /// <param name="str">加密字符串</param>
    /// <returns>返回值</returns>

    1 public static string GetMD532(string str)
    2 {
    3     MD5 md5 = MD5.Create();
    4     byte[] d = md5.ComputeHash(Encoding.Default.GetBytes(str));
    5     return BitConverter.ToString(d).Replace("-", "").ToLower();
    6 
    7 }
    View Code
  • 相关阅读:
    cef加载flash的办法
    一个高性能的对象属性复制类,支持不同类型对象间复制,支持Nullable<T>类型属性
    php检测php.ini是否配制正确
    openwrt的路由器重置root密码
    windows 7 + vs2010 sp1编译 x64位版qt4
    解决SourceGrid在某些系统上无法用鼠标滚轮滚动的问题
    判断一个点是否在多边形内部,射线法思路,C#实现
    [转载]使用HttpWebRequest进行请求时发生错误:基础连接已关闭,发送时发生错误处理
    让Dapper+SqlCE支持ntext数据类型和超过4000字符的存储
    通过WMI
  • 原文地址:https://www.cnblogs.com/2013likong/p/3427960.html
Copyright © 2011-2022 走看看