(快速参考)

编解码器

目的

提供一种功能,可以将对文本数据的编码和解码注册为任何对象上的方法

示例

class HTMLCodec {
    static encode = { theTarget ->
        HtmlUtils.htmlEscape(theTarget.toString())
    }
    static decode = { theTarget ->
        HtmlUtils.htmlUnescape(theTarget.toString())
    }
}
assert "&lt;p&gt;Hello World!&lt;/p&gt;" == "<p>Hello World!</p>".encodeAsHTML()
assert "<p>Hello World!</p>" == "&lt;p&gt;Hello World!&lt;/p&gt;".decodeHTML()

说明

此插件搜索以约定 Codec 结尾的类名,并在 java.lang.Object 上动态注册 encodeAs[Codec]decode[Codec] 方法,以便可以对任何数据进行编码和解码。有关详细信息,请参阅用户指南中的 对对象进行编码和解码 部分。

提供的编解码器

  • HTMLCodec - 对 HTML 标记进行编码/解码

  • URLCodec - 对 URL 进行编码/解码

  • JavascriptCodec - 对 JavaScript 进行编码(转义)

  • Base64Codec - 对 Base64 数据进行编码/解码

  • HexCodec - 将字节数组或整数列表编码为十六进制字符串,并将十六进制字符串解码为字节数组

  • MD5Codec - 将字节数组或整数列表,或字符串的字符(使用默认系统编码)编码为十六进制字符串形式的 MD5 摘要

  • MD5BytesCodec - 将字节数组或整数列表,或字符串的字符(使用默认系统编码)编码为字节数组形式的 MD5 摘要

  • SHA1Codec - 将字节数组或整数列表,或字符串的字符(使用默认系统编码)编码为十六进制字符串形式的 SHA1 摘要

  • SHA1BytesCodec - 将字节数组或整数列表,或字符串的字符(使用默认系统编码)编码为字节数组形式的 SHA1 摘要

  • SHA256Codec - 将字节数组或整数列表,或字符串的字符(使用默认系统编码)编码为十六进制字符串形式的 SHA256 摘要

  • SHA256BytesCodec - 对字节数组或整数列表或字符串的字符(使用默认系统编码)进行编码,生成字节数组形式的 SHA256 摘要