Input interface, used when the buffer is empty Same as java.nio.channel.ReadableByteChannel
Same as java.nio.channel.WrittableByteChannel.
When we need more space we'll either grow the buffer ( up to the limit ) or send it to a channel.
This class implements some basic ASCII character handling functions.
NIO based character decoder.
This class is used to represent a chunk of bytes, and utilities to manipulate byte.
NIO based character encoder.
Utilities to manipulate char chunks.
String constants for the file package.
Tables useful when converting byte arrays to and from strings of hexadecimal digits.
This class is used to represent a subarray of bytes in an HTTP message.
This class implements a String cache for ByteChunk and CharChunk.
All URL decoding happens here.
Efficient implementation for encoders.
Decodes bytes to UTF-8.
Encodes characters as bytes using UTF-8.
Encoding is a critical operation for performance. There are few tricks in this package - the C2B and B2C converters are caching a ISReader/OSWriter and keep everything allocated to do the conversions in any VM without any garbage.
This package must accomodate future extensions and additional converters ( most imporant: the nio.charset, which should be detected and used if available ). Also, we do have one hand-written UTF8Decoder, and other tuned encoders could be added.
My benchmarks ( I'm costin :-) show only small differences between C2B, B2C and hand-written codders/decoders, so UTF8Decoder may be disabled.
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.