C# 实现Escape UnEscape方法(支持中文-转载)
2024-09-03 07:32:09
//Escape方法
public static string Escape(string s)
{
StringBuilder sb = new StringBuilder();
byte[] byteArr = System.Text.Encoding.Unicode.GetBytes(s); for (int i = ; i < byteArr.Length; i += )
{
sb.Append("%u");
sb.Append(byteArr[i + ].ToString("X2"));//把字節轉換為十六進制的字符串表現形式 sb.Append(byteArr[i].ToString("X2"));
}
return sb.ToString(); }
//UnEscape方法
public static string UnEscape(string s)
{ string str = s.Remove(, );//刪除最前面兩個"%u"
string[] strArr = str.Split(new string[] { "%u" }, StringSplitOptions.None);//以子字符串"%u"分隔
byte[] byteArr = new byte[strArr.Length * ];
for (int i = , j = ; i < strArr.Length; i++, j += )
{
byteArr[j + ] = Convert.ToByte(strArr[i].Substring(, ), ); //把十六進制形式的字串符串轉換為二進制字節
byteArr[j] = Convert.ToByte(strArr[i].Substring(, ), );
}
str = System.Text.Encoding.Unicode.GetString(byteArr); //把字節轉為unicode編碼
return str; }
最新文章
- Connect() 2016 大会的主题 ---微软大法好
- 常用数据库的驱动程序和Url地址
- android防止内存溢出浅析
- WeX5的简单介绍及UI的简单讲解
- JavaScript 基础第十天
- BZOJ3160: 万径人踪灭
- dom事件不求甚解,色解事件捕获和冒泡
- Windows Server 2008 64 位 IIS7.5 ASP.NET MVC4 发布问题
- CodeForces 711C Coloring Trees (DP)
- Extjs4.2——bbar的默认类型(xtype)
- CSS3弹性盒模型flex box快速入门 2016.03.16
- LVS高可用集群
- 为什么ASCII是7位(导致各家编码的128~256字符都不同,给我带来很多困惑)——在标准ASCII中,其最高位(b7)用作奇偶校验位,附ASCII每个控制符的中文解释
- CSipSimple最新版本号
- 从内存中加载DLL Delphi版(转)
- JavaWeb之Filter过滤器
- docker入门(二)容器与镜像的理解
- http协议状态码及其意义
- 共轭函数Fenchel不等式
- 【leetcode-100】 简单 树相关题目