Package org.owasp.esapi.codecs
Class PercentCodec
- java.lang.Object
-
- org.owasp.esapi.codecs.AbstractCodec<java.lang.Character>
-
- org.owasp.esapi.codecs.AbstractCharacterCodec
-
- org.owasp.esapi.codecs.PercentCodec
-
- All Implemented Interfaces:
Codec<java.lang.Character>
public class PercentCodec extends AbstractCharacterCodec
Implementation of the Codec interface for percent encoding (aka URL encoding).- Since:
- June 1, 2007
- Author:
- Jeff Williams (jeff.williams .at. aspectsecurity.com) Aspect Security
- See Also:
Encoder
-
-
Constructor Summary
Constructors Constructor Description PercentCodec()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Character
decodeCharacter(PushbackSequence<java.lang.Character> input)
Returns the decoded version of the next character from the input string and advances the current character in the PushbackSequence.java.lang.String
encodeCharacter(char[] immune, java.lang.Character c)
Encode a character for URLs-
Methods inherited from class org.owasp.esapi.codecs.AbstractCharacterCodec
decode
-
Methods inherited from class org.owasp.esapi.codecs.AbstractCodec
containsCharacter, encode, encodeCharacter, encodeCharacter, getHexForNonAlphanumeric, getHexForNonAlphanumeric, toHex, toHex, toOctal
-
-
-
-
Method Detail
-
encodeCharacter
public java.lang.String encodeCharacter(char[] immune, java.lang.Character c)
Encode a character for URLs- Specified by:
encodeCharacter
in interfaceCodec<java.lang.Character>
- Overrides:
encodeCharacter
in classAbstractCodec<java.lang.Character>
- Parameters:
immune
- Additional characters not to encode. Note this could break URL encoding as referenced in RFC 3986. You should especially be wary of including '%' in this list of immune characters since it is used as the "escape" character for the hex encoding and including it may result in subsequent and/or dangerous results when decoding.c
- character to encode- Returns:
- the encoded string representing c
- See Also:
method instead of this one!!! YOU HAVE BEEN WARNED!!!!
-
decodeCharacter
public java.lang.Character decodeCharacter(PushbackSequence<java.lang.Character> input)
Returns the decoded version of the next character from the input string and advances the current character in the PushbackSequence. If the current character is not encoded, this method MUST reset the PushbackString. Formats all are legal both upper/lower case: %hh;- Specified by:
decodeCharacter
in interfaceCodec<java.lang.Character>
- Overrides:
decodeCharacter
in classAbstractCodec<java.lang.Character>
- Parameters:
input
- encoded character using percent characters (such as URL encoding)- Returns:
- the decoded Character
-
-