Class EscapeKit

java.lang.Object
org.miaixz.bus.core.xyz.EscapeKit

public class EscapeKit extends Object
转义和反转义工具类Escape / Unescape escape采用ISO Latin字符集对指定的字符串进行编码。 所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • EscapeKit

      public EscapeKit()
  • Method Details

    • escapeXml

      public static String escapeXml(CharSequence xml)
      转义XML中的特殊字符
               & (ampersand) 替换为 &
               < (less than) 替换为 &lt;
               > (greater than) 替换为 &gt;
               " (double quote) 替换为 &quot;
               ' (single quote / apostrophe) 替换为 &apos;
       
      Parameters:
      xml - XML文本
      Returns:
      转义后的文本
    • unescapeXml

      public static String unescapeXml(CharSequence xml)
      反转义XML中的特殊字符
      Parameters:
      xml - XML文本
      Returns:
      转义后的文本
    • escapeHtml4

      public static String escapeHtml4(CharSequence html)
      转义HTML4中的特殊字符
      Parameters:
      html - HTML文本
      Returns:
      转义后的文本
    • unescapeHtml4

      public static String unescapeHtml4(CharSequence html)
      反转义HTML4中的特殊字符
      Parameters:
      html - HTML文本
      Returns:
      转义后的文本
    • escape

      public static String escape(CharSequence content)
      Escape编码(Unicode)(等同于JS的escape()方法) 该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 其他所有的字符都会被转义序列替换。
      Parameters:
      content - 被转义的内容
      Returns:
      编码后的字符串
    • escapeAll

      public static String escapeAll(CharSequence content)
      Escape编码(Unicode) 该方法不会对 ASCII 字母和数字进行编码。其他所有的字符都会被转义序列替换。
      Parameters:
      content - 被转义的内容
      Returns:
      编码后的字符串
    • escape

      public static String escape(CharSequence content, Predicate<Character> filter)
      Escape编码(Unicode) 该方法不会对 ASCII 字母和数字进行编码。其他所有的字符都会被转义序列替换。
      Parameters:
      content - 被转义的内容
      filter - 编码过滤器,对于过滤器中accept为false的字符不做编码
      Returns:
      编码后的字符串
    • unescape

      public static String unescape(String content)
      Escape解码
      Parameters:
      content - 被转义的内容
      Returns:
      解码后的字符串
    • safeUnescape

      public static String safeUnescape(String content)
      安全的unescape文本,当文本不是被escape的时候,返回原文。
      Parameters:
      content - 内容
      Returns:
      解码后的字符串,如果解码失败返回原字符串