java.lang.Object
org.apache.jena.atlas.io.BlockUTF8
Convert between bytes and chars, UTF-8 only.
This code is just the UTF-8 encoding rules - it does not check for legality
of the Unicode data. The standard codecs do, so do not round-trip with binary
compatibility. (Example: a single element of a surrogate pair will
be encoded/decoded without loss.)
The usual Charset encoders/decoders can be expensive to start up - they are also
not thread safe. Sometimes we want to convert 10's of chars and UTF-8 can be
done in code with no lookup tables (which, if used, are cache-unfriendly).
This code is thread safe. It uses code in the hope that JITting will
make it fast if used heavily.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidfromChars(CharSequence cs, ByteBuffer bb) static voidfromChars(CharBuffer cb, ByteBuffer bb) Convert characters to UTF-8 bytes in the ByteBuffer.static voidtoChars(ByteBuffer bb, CharBuffer cb) Convert the bytes in the ByteBuffer to characters in the CharBuffer.static StringtoString(ByteBuffer bb) Make a string from UTF-8 bytes in a ByteBuffer
-
Constructor Details
-
BlockUTF8
public BlockUTF8()
-
-
Method Details
-
toChars
Convert the bytes in the ByteBuffer to characters in the CharBuffer. The CharBuffer must be large enough. -
fromChars
Convert characters to UTF-8 bytes in the ByteBuffer. The ByteBuffer must be large enough. -
toString
Make a string from UTF-8 bytes in a ByteBuffer -
fromChars
-