Package com.helger.base.codec.impl
Class RFC3986Codec
java.lang.Object
com.helger.base.codec.impl.RFC3986Codec
- All Implemented Interfaces:
IByteArrayCodec,IByteArrayDecoder,IByteArrayEncoder,IByteArrayStreamDecoder,IByteArrayStreamEncoder,ICodec<byte[]>,IDecoder<byte[],,byte[]> IEncoder<byte[],byte[]>
Encoder and decoder for URL stuff based on RFC 3986.
- Author:
- Philip Helger
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor with the RFC 3986 printable characters.RFC3986Codec(@NonNull BitSet aPrintableChars) Constructor with an arbitrary set of printable characters. -
Method Summary
Modifier and TypeMethodDescriptionvoiddecode(byte @Nullable [] aEncodedBuffer, int nOfs, int nLen, @NonNull OutputStream aOS) Decode (part of) a byte array.voidencode(byte @Nullable [] aDecodedBuffer, int nOfs, int nLen, @NonNull OutputStream aOS) Encode (part of) a byte array to anOutputStream.static @NonNull BitSet@NonNull BitSetstatic final voidwriteEncodedURLByte(int b, @NonNull OutputStream aOS) Encodes byte into its URL representation.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.helger.base.codec.IByteArrayDecoder
getDecoded, getDecoded, getMaximumDecodedLengthMethods inherited from interface com.helger.base.codec.IByteArrayStreamDecoder
decode, getDecoded, getDecodedAsString, getDecodedAsString, getDecodedAsString, getDecodedAsStringMethods inherited from interface com.helger.base.codec.IByteArrayStreamEncoder
encode, getEncoded, getEncoded, getEncoded, getEncodedAsString, getEncodedAsString, getEncodedAsString, getMaximumEncodedLength
-
Constructor Details
-
RFC3986Codec
public RFC3986Codec()Default constructor with the RFC 3986 printable characters. -
RFC3986Codec
Constructor with an arbitrary set of printable characters.- Parameters:
aPrintableChars- The printable character BitSet to use. May not benull.
-
-
Method Details
-
getDefaultPrintableChars
- Returns:
- A copy of the default bit set to be used. Never
null.
-
getPrintableChars
- Returns:
- A copy of the default bit set to be used. Never
null.
-
writeEncodedURLByte
Encodes byte into its URL representation.- Parameters:
b- byte to encodeaOS- the output stream to write to. May not benull.- Throws:
IOException- In case writing to the OutputStream failed
-
encode
public void encode(byte @Nullable [] aDecodedBuffer, @Nonnegative int nOfs, @Nonnegative int nLen, @WillNotClose @NonNull OutputStream aOS) Encode (part of) a byte array to anOutputStream.- Specified by:
encodein interfaceIByteArrayStreamEncoder- Parameters:
aDecodedBuffer- The byte array to be encoded. May benull.nOfs- Offset into the byte array to start from.nLen- Number of bytes starting from offset to consider.aOS- The output stream to write to. May not benulland is NOT closed afterwards!
-
decode
public void decode(byte @Nullable [] aEncodedBuffer, @Nonnegative int nOfs, @Nonnegative int nLen, @WillNotClose @NonNull OutputStream aOS) Decode (part of) a byte array.- Specified by:
decodein interfaceIByteArrayStreamDecoder- Parameters:
aEncodedBuffer- The byte array to be decoded. May benull.nOfs- Offset into the byte array to start from.nLen- Number of bytes starting from offset to consider.aOS- The output stream to write to. May not benulland is NOT closed afterwards!
-