# Grails 1.1 安全性 - 标准的编解码器 - 定制编解码器Custom Codecs

**URL:** <https://www.isharkfly.com/t/grails-1-1-custom-codecs/1871>\
**Category:** 程序语言\
**Created:** [November 11, 2012, 3:55am UTC](https://www.isharkfly.com/t/grails-1-1-custom-codecs/1871 "2012-11-11T03:55:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [November 11, 2012, 3:55am UTC](https://www.isharkfly.com/t/grails-1-1-custom-codecs/1871/1 "2012-11-11T03:55:33Z")

</div>

许多应用可能定制属于自己的编解码器，Grails在装载标准编解码器时把它们一起装载。

定制编解码器类必须在grails-app/utils/目录下定义，而且类名必须以Codec结尾。

定制编解码器可能含有一个静态encode块，一个静态decode块或两者皆有。

这些编解码代码块需要一个单一参数，当作动态方法操作对象，如下：`class PigLatinCodec {
static encode = { str ->
// convert the string to piglatin and return the result
}
}`在适当的地方，一个应用可以使用上方定义的编解码器做如下的工作：`${lastName.encodeAsPigLatin()}`
