Package org.codehaus.groovy.runtime

# Class EncodingGroovyMethods

java.lang.Object
org.codehaus.groovy.runtime.EncodingGroovyMethods

    public class EncodingGroovyMethods
    extends java.lang.Object

This class defines all the encoding/decoding groovy methods which enhance the normal JDK classes when inside the Groovy environment. Static methods are used with the first parameter the destination class.

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `EncodingGroovyMethods()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static byte[]` | `decodeBase64​(java.lang.String value)` | Decode the String from Base64 into a byte array.
  `static byte[]` | `decodeBase64Url​(java.lang.String value)` | Decodes a Base64 URL and Filename Safe encoded String into a byte array.
  `static byte[]` | `decodeHex​(java.lang.String value)` | Decodes a hex string to a byte array.
  `static java.lang.String` | `digest​(byte[] self, java.lang.String algorithm)` | digest the byte array
  `static java.lang.String` | `digest​(java.lang.CharSequence self, java.lang.String algorithm)` | digest the CharSequence instance
  `static Writable` | `encodeBase64​(byte[] data)` | Produce a Writable object which writes the Base64 encoding of the byte array.
  `static Writable` | `encodeBase64​(byte[] data, boolean chunked)` | Produce a Writable object which writes the Base64 encoding of the byte array.
  `static Writable` | `encodeBase64​(java.lang.Byte[] data)` | Produce a Writable object which writes the Base64 encoding of the byte array.
  `static Writable` | `encodeBase64​(java.lang.Byte[] data, boolean chunked)` | Produce a Writable object which writes the Base64 encoding of the byte array.
  `static Writable` | `encodeBase64Url​(byte[] data)` | Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array.
  `static Writable` | `encodeBase64Url​(byte[] data, boolean pad)` | Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array.
  `static Writable` | `encodeBase64Url​(java.lang.Byte[] data)` | Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array.
  `static Writable` | `encodeBase64Url​(java.lang.Byte[] data, boolean pad)` | Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array.
  `static Writable` | `encodeHex​(byte[] data)` | Produces a Writable that writes the hex encoding of the byte[].
  `static Writable` | `encodeHex​(java.lang.Byte[] data)` | Produces a Writable that writes the hex encoding of the Byte[].
  `static java.lang.String` | `md5​(byte[] self)` | Calculate md5 of the byte array
  `static java.lang.String` | `md5​(java.lang.CharSequence self)` | Calculate md5 of the CharSequence instance
  `static java.lang.String` | `sha256​(byte[] self)` | Calculate SHA-256 of the byte array
  `static java.lang.String` | `sha256​(java.lang.CharSequence self)` | Calculate SHA-256 of the CharSequence instance

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### EncodingGroovyMethods

    public EncodingGroovyMethods()

- ## Method Details

  - ### encodeBase64

    public static Writable encodeBase64​(java.lang.Byte[] data, boolean chunked)
    Produce a Writable object which writes the Base64 encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 encoding and chunking see `RFC 4648`.
    Parameters:
      `data` - Byte array to be encoded
      `chunked` - whether or not the Base64 encoded data should be MIME chunked
    Returns:
      object which will write the Base64 encoding of the byte array
    Since:
      1.5.1

  - ### encodeBase64

    public static Writable encodeBase64​(java.lang.Byte[] data)
    Produce a Writable object which writes the Base64 encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 encoding and chunking see `RFC 4648`.
    Parameters:
      `data` - Byte array to be encoded
    Returns:
      object which will write the Base64 encoding of the byte array
    Since:
      1.0

  - ### encodeBase64

    public static Writable encodeBase64​(byte[] data, boolean chunked)
    Produce a Writable object which writes the Base64 encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 encoding and chunking see `RFC 4648`.
    Parameters:
      `data` - byte array to be encoded
      `chunked` - whether or not the Base64 encoded data should be MIME chunked
    Returns:
      object which will write the Base64 encoding of the byte array
    Since:
      1.5.7

  - ### encodeBase64

    public static Writable encodeBase64​(byte[] data)
    Produce a Writable object which writes the Base64 encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 encoding and chunking see `RFC 4648`.
    Parameters:
      `data` - byte array to be encoded
    Returns:
      object which will write the Base64 encoding of the byte array
    Since:
      1.0

  - ### encodeBase64Url

    public static Writable encodeBase64Url​(java.lang.Byte[] data)
    Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 URL and Filename Safe encoding see `RFC 4648 - Section 5 Base 64 Encoding with URL and Filename Safe Alphabet`.

    The method omits padding and is equivalent to calling `encodeBase64Url(Byte[], boolean)` with a value of `false`.

    Parameters:
      `data` - Byte array to be encoded
    Returns:
      object which will write the Base64 URL and Filename Safe encoding of the byte array
    Since:
      2.5.0
    See Also:
      `encodeBase64Url(Byte[], boolean)`

  - ### encodeBase64Url

    public static Writable encodeBase64Url​(java.lang.Byte[] data, boolean pad)
    Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 URL and Filename Safe encoding see `RFC 4648 - Section 5 Base 64 Encoding with URL and Filename Safe Alphabet`.
    Parameters:
      `data` - Byte array to be encoded
      `pad` - whether or not the encoded data should be padded
    Returns:
      object which will write the Base64 URL and Filename Safe encoding of the byte array
    Since:
      2.5.0

  - ### encodeBase64Url

    public static Writable encodeBase64Url​(byte[] data)
    Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 URL and Filename Safe encoding see `RFC 4648 - Section 5 Base 64 Encoding with URL and Filename Safe Alphabet`.

    The method omits padding and is equivalent to calling `encodeBase64Url(byte[], boolean)` with a value of `false`.

    Parameters:
      `data` - Byte array to be encoded
    Returns:
      object which will write the Base64 URL and Filename Safe encoding of the byte array
    Since:
      2.5.0
    See Also:
      `encodeBase64Url(byte[], boolean)`

  - ### encodeBase64Url

    public static Writable encodeBase64Url​(byte[] data, boolean pad)
    Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 URL and Filename Safe encoding see `RFC 4648 - Section 5 Base 64 Encoding with URL and Filename Safe Alphabet`.
    Parameters:
      `data` - Byte array to be encoded
      `pad` - whether or not the encoded data should be padded
    Returns:
      object which will write the Base64 URL and Filename Safe encoding of the byte array
    Since:
      2.5.0

  - ### decodeBase64

    public static byte[] decodeBase64​(java.lang.String value)
    Decode the String from Base64 into a byte array.
    Parameters:
      `value` - the string to be decoded
    Returns:
      the decoded bytes as an array
    Since:
      1.0

  - ### decodeBase64Url

    public static byte[] decodeBase64Url​(java.lang.String value)
    Decodes a Base64 URL and Filename Safe encoded String into a byte array.
    Parameters:
      `value` - the string to be decoded
    Returns:
      the decoded bytes as an array
    Since:
      2.5.0

  - ### encodeHex

    public static Writable encodeHex​(java.lang.Byte[] data)
    Produces a Writable that writes the hex encoding of the Byte[]. Calling toString() on this Writable returns the hex encoding as a String. The hex encoding includes two characters for each byte and all letters are lower case.
    Parameters:
      `data` - byte array to be encoded
    Returns:
      object which will write the hex encoding of the byte array
    See Also:
      `Integer.toHexString(int)`

  - ### encodeHex

    public static Writable encodeHex​(byte[] data)
    Produces a Writable that writes the hex encoding of the byte[]. Calling toString() on this Writable returns the hex encoding as a String. The hex encoding includes two characters for each byte and all letters are lower case.
    Parameters:
      `data` - byte array to be encoded
    Returns:
      object which will write the hex encoding of the byte array
    See Also:
      `Integer.toHexString(int)`

  - ### decodeHex

    public static byte[] decodeHex​(java.lang.String value)
    Decodes a hex string to a byte array. The hex string can contain either upper case or lower case letters.
    Parameters:
      `value` - string to be decoded
    Returns:
      decoded byte array
    Throws:
      `java.lang.NumberFormatException` - If the string contains an odd number of characters or if the characters are not valid hexadecimal values.

  - ### md5

    public static java.lang.String md5​(java.lang.CharSequence self) throws java.security.NoSuchAlgorithmException
    Calculate md5 of the CharSequence instance
    Returns:
      md5 value
    Throws:
      `java.security.NoSuchAlgorithmException` - if MD5 algorithm not found
    Since:
      2.5.0

  - ### md5

    public static java.lang.String md5​(byte[] self) throws java.security.NoSuchAlgorithmException
    Calculate md5 of the byte array
    Returns:
      md5 value
    Throws:
      `java.security.NoSuchAlgorithmException` - if MD5 algorithm not found
    Since:
      2.5.0

  - ### sha256

    public static java.lang.String sha256​(java.lang.CharSequence self) throws java.security.NoSuchAlgorithmException
    Calculate SHA-256 of the CharSequence instance
    Returns:
      SHA-256 value
    Throws:
      `java.security.NoSuchAlgorithmException` - if SHA-256 algorithm not found
    Since:
      2.5.3

  - ### sha256

    public static java.lang.String sha256​(byte[] self) throws java.security.NoSuchAlgorithmException
    Calculate SHA-256 of the byte array
    Returns:
      SHA-256 value
    Throws:
      `java.security.NoSuchAlgorithmException` - if SHA-256 algorithm not found
    Since:
      2.5.3

  - ### digest

    public static java.lang.String digest​(java.lang.CharSequence self, java.lang.String algorithm) throws java.security.NoSuchAlgorithmException
    digest the CharSequence instance
    Parameters:
      `algorithm` - the name of the algorithm requested, e.g. MD5, SHA-1, SHA-256, etc.
    Returns:
      digested value
    Throws:
      `java.security.NoSuchAlgorithmException` - if the algorithm not found
    Since:
      2.5.0
    See Also:
      `MessageDigest.getInstance(java.lang.String)`

  - ### digest

    public static java.lang.String digest​(byte[] self, java.lang.String algorithm) throws java.security.NoSuchAlgorithmException
    digest the byte array
    Parameters:
      `algorithm` - the name of the algorithm requested, e.g. MD5, SHA-1, SHA-256, etc.
    Returns:
      digested value
    Throws:
      `java.security.NoSuchAlgorithmException` - if the algorithm not found
    Since:
      2.5.0
    See Also:
      `MessageDigest.getInstance(java.lang.String)`