Package org.codehaus.groovy.runtime

# Class EncodingGroovyMethods

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

public class EncodingGroovyMethods extends 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(String value)`
  Decode the String from Base64 into a byte array.
  `static byte[]`
  `decodeBase64Url(String value)`
  Decodes a Base64 URL and Filename Safe encoded String into a byte array.
  `static byte[]`
  `decodeHex(String value)`
  Decodes a hex string to a byte array.
  `static String`
  `digest(byte[] self, String algorithm)`
  digest the byte array
  `static String`
  `digest(CharSequence self, 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(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`
  `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(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`
  `encodeHex(byte[] data)`
  Produces a Writable that writes the hex encoding of the byte[].
  `static Writable`
  `encodeHex(Byte[] data)`
  Produces a Writable that writes the hex encoding of the Byte[].
  `static String`
  `md5(byte[] self)`
  Calculate md5 of the byte array
  `static String`
  `md5(CharSequence self)`
  Calculate md5 of the CharSequence instance
  `static String`
  `sha256(byte[] self)`
  Calculate SHA-256 of the byte array
  `static String`
  `sha256(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(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 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(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 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(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 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 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(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(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(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(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:
      `NumberFormatException` - If the string contains an odd number of characters or if the characters are not valid hexadecimal values.

  - ### md5

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

  - ### md5

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

  - ### sha256

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

  - ### sha256

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

  - ### digest

    public static String digest(CharSequence self, String algorithm) throws 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:
      `NoSuchAlgorithmException` - if the algorithm not found
    Since:
      2.5.0
    See Also:
      - `MessageDigest.getInstance(java.lang.String)`

  - ### digest

    public static String digest(byte[] self, String algorithm) throws 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:
      `NoSuchAlgorithmException` - if the algorithm not found
    Since:
      2.5.0
    See Also:
      - `MessageDigest.getInstance(java.lang.String)`