Class URLEncoder

java.lang.Object
com.webmethods.rtl.encode.Encoder
com.webmethods.rtl.encode.URLEncoder

public class URLEncoder extends Encoder
Encodes to and from URL-escaping. See http://www.w3.org/International/O-URL-code.html.
  • Field Details

    • encoder

      protected static Encoder encoder
  • Constructor Details

    • URLEncoder

      public URLEncoder()
  • Method Details

    • encoder

      public static Encoder encoder()
      Returns the encoder instance.
    • encode

      public int encode(char[] src, int soff, int len, Writer dst) throws IOException
      Encode a string to the "x-www-form-urlencoded" form, enhanced with the UTF-8-in-URL proposal. This is what happens:
      • The ASCII characters 'a' through 'z', 'A' through 'Z', and '0' through '9' remain the same.

      • The unreserved characters - _ . ! ~ * ' ( ) remain the same.

      • The space character ' ' is not converted into a plus sign '+'.

      • All other ASCII characters are converted into the 3-character string "%xy", where xy is the two-digit hexadecimal representation of the character code

      • All non-ASCII characters are encoded in two steps: first to a sequence of 2 or 3 bytes, using the UTF-8 algorithm; secondly each of these bytes is encoded as "%xx".

      Specified by:
      encode in class Encoder
      Parameters:
      src - Char array to encode.
      soff - Offset in the src array at which to begin reading.
      len - Length of src array to encode.
      dst - Writer in which to write the encoded chars.
      Returns:
      Length of chars written to dst.
      Throws:
      IOException
    • decode

      public int decode(char[] src, int soff, int len, Writer dst) throws IOException
      Decodes from URL-escaped format.
      Specified by:
      decode in class Encoder
      Parameters:
      src - Char array to decode.
      soff - Offset in the src array at which to begin reading.
      len - Length of src array to decode.
      dst - Writer in which to write the decoded chars.
      Returns:
      Length of chars written to dst.
      Throws:
      IOException