• C# 实现Escape UnEscape方法(支持中文-转载)


    //Escape方法
            public static string Escape(string s)
            {
                StringBuilder sb = new StringBuilder();
                byte[] byteArr = System.Text.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();
    
            }
            //UnEscape方法
            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 = System.Text.Encoding.Unicode.GetString(byteArr); //把字節轉為unicode編碼
                return str;
    
            }
  • 相关阅读:
    软件工程课程总结
    c#代码分析
    运用visual studio进行简单的单元测试
    安装visual studio过程
    忙着,快乐着
    软件工程心得
    session
    XML
    期末团队评价
    黄金点游戏
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/11093195.html
Copyright © 2020-2023  润新知