zoukankan      html  css  js  c++  java
  • C#版escape unescape

    /// <summary>
    /// Escape方法
    /// </summary>
    /// <param name="s"></param>
    /// <returns></returns>
    public static string Escape(string s)
    {
        StringBuilder sb = new StringBuilder();
        byte[] byteArr = Encoding.Unicode.GetBytes(s);
        for (int i = 0; i < byteArr.Length; i += 2)
        {
            sb.Append("%u");
            sb.Append(byteArr[i + 1].ToString("X2"));//把字節轉換為十六進制的字符串表現形式
            sb.Append(byteArr[i].ToString("X2"));
        }
        return sb.ToString();
    }
    
    /// <summary>
    /// UnEscape方法
    /// </summary>
    /// <param name="s"></param>
    /// <returns></returns>
    public static string UnEscape(string s)
    {
        string str = s.Remove(0, 2);//刪除最前面兩個"%u"
        string[] strArr = str.Split(new string[] { "%u" }, StringSplitOptions.None);//以子字符串"%u"分隔
        byte[] byteArr = new byte[strArr.Length * 2];
        for (int i = 0, j = 0; i < strArr.Length; i++, j += 2)
        {
            byteArr[j + 1] = Convert.ToByte(strArr[i].Substring(0, 2), 16);  //把十六進制形式的字串符串轉換為二進制字節
            byteArr[j] = Convert.ToByte(strArr[i].Substring(2, 2), 16);
        }
        str = Encoding.Unicode.GetString(byteArr); //把字節轉為unicode編碼
        return str;
    }
  • 相关阅读:
    那些优秀的python代码
    ubuntu软件工具推荐
    跨平台APP推荐收藏
    关于python使用的那些事儿
    关于notepad++使用的那些事儿
    关于ubuntu使用的那些事儿
    PyQt4制作GUI
    python操作图片
    杀死进程
    常见配置文件对比
  • 原文地址:https://www.cnblogs.com/Transmuter/p/14120908.html
Copyright © 2011-2022 走看看