Escape工具-EscapeUtil
# 简介
转义和反转义工具类Escape / Unescape。escape采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。
此类中的方法对应Javascript中的escape()函数和unescape()函数。
提供了一些常用的Escape方法,包括:
Escape
:将字符串中的特殊字符进行转义。Unescape
:将字符串中的转义字符还原成特殊字符。UrlEncode
:将URL中的特殊字符进行转义。UrlDecode
:将URL中的转义字符还原成特殊字符。HtmlEncode
:将HTML字符串中的特殊字符替换成HTML实体。HtmlDecode
:将HTML字符串中的HTML实体还原成特殊字符。XmlEncode
:将XML字符串中的特殊字符替换成XML实体。XmlDecode
:将XML字符串中的XML实体还原成特殊字符。
使用以上方法可以很方便地对字符串中的特殊字符、URL、HTML实体和XML实体等进行转义和还原操作,从而保证字符串的正确性和安全性。
# EasyTool.EscapeUtil 类
静态工具类 EscapeUtil,提供了一系列方法用于对字符串中的特殊字符、URL、HTML实体和XML实体等进行转义和还原操作。EscapeUtil内部使用正则表达式和.NET框架提供的编码和解码方法来实现字符串的转义和还原操作,既保证了操作的正确性,也提高了操作的效率。通过使用EscapeUtil工具类,可以很方便地对字符串进行安全性处理和传输,特别适合于Web开发和网络通信等领域。
# Escape-将字符串中的特殊字符进行转义
/// <summary>
/// 将字符串中的特殊字符进行转义
/// </summary>
/// <param name="str">需要转义的字符串</param>
/// <returns>转义后的字符串</returns>
public static string Escape(string str)
# Unescape-将字符串中的转义字符还原成特殊字符
/// <summary>
/// 将字符串中的转义字符还原成特殊字符
/// </summary>
/// <param name="str">需要还原的字符串</param>
/// <returns>还原后的字符串</returns>
public static string Unescape(string str)
# UrlEncode-将URL中的特殊字符进行转义
/// <summary>
/// 将URL中的特殊字符进行转义
/// </summary>
/// <param name="url">需要转义的URL</param>
/// <returns>转义后的URL</returns>
public static string UrlEncode(string url)
# UrlDecode-将URL中的转义字符还原成特殊字符
/// <summary>
/// 将URL中的转义字符还原成特殊字符
/// </summary>
/// <param name="url">需要还原的URL</param>
/// <returns>还原后的URL</returns>
public static string UrlDecode(string url)
# HtmlEncode-将HTML字符串进行转义,将特殊字符替换成HTML实体
/// <summary>
/// 将HTML字符串进行转义,将特殊字符替换成HTML实体
/// </summary>
/// <param name="html">需要转义的HTML字符串</param>
/// <returns>转义后的HTML字符串</returns>
public static string HtmlEncode(string html)
# HtmlDecode-将HTML字符串中的HTML实体还原成特殊字符
/// <summary>
/// 将HTML字符串中的HTML实体还原成特殊字符
/// </summary>
/// <param name="html">需要还原的HTML字符串</param>
/// <returns>还原后的HTML字符串</returns>
public static string HtmlDecode(string html)
# XmlEncode-将XML字符串进行转义,将特殊字符替换成XML实体
/// <summary>
/// 将XML字符串进行转义,将特殊字符替换成XML实体
/// </summary>
/// <param name="xml">需要转义的XML字符串</param>
/// <returns>转义后的XML字符串</returns>
public static string XmlEncode(string xml)
# XmlDecode-将XML字符串中的XML实体还原成特殊字符
/// <summary>
/// 将XML字符串中的XML实体还原成特殊字符
/// </summary>
/// <param name="xml">需要还原的XML字符串</param>
/// <returns>还原后的XML字符串</returns>
public static string XmlDecode(string xml)
# 使用示例
string str = "Hello\tWorld\r\n\"<>\'&";
string escaped = EscapeUtil.Escape(str); // 转义
string unescaped = EscapeUtil.Unescape(escaped); // 还原
Console.WriteLine(escaped);
Console.WriteLine(unescaped);
string url = "http://www.example.com/search?q=hello world";
string encoded = EscapeUtil.UrlEncode(url); // 转义
string decoded = EscapeUtil.UrlDecode(encoded); // 还原
Console.WriteLine(encoded);
Console.WriteLine(decoded);
string html = "<div>Hello & World</div>";
string encodedHtml = EscapeUtil.HtmlEncode(html); // 转义
string decodedHtml = EscapeUtil.HtmlDecode(encodedHtml); // 还原
Console.WriteLine(encodedHtml);
Console.WriteLine(decodedHtml);
string xml = "<message>Hello <World></message>";
string encodedXml = EscapeUtil.XmlEncode(xml); // 转义
string decodedXml = EscapeUtil.XmlDecode(encodedXml); // 还原
Console.WriteLine(encodedXml);
Console.WriteLine(decodedXml);
# 输出结果
Hello\tWorld\r\n\"<>'&
Hello World
http%3A%2F%2Fwww.example.com%2Fsearch%3Fq%3Dhello%20world
http://www.example.com/search?q=hello world
<div>Hello &amp; World</div>
<div>Hello & World</div>
<message>Hello &lt;World&gt;</message>
<message>Hello <World></message>
上次更新: 2023/04/26, 22:10:06