Class BlockUTF8

java.lang.Object
org.apache.jena.atlas.io.BlockUTF8

public class BlockUTF8 extends Object
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 lost.) 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 Details

    • BlockUTF8

      public BlockUTF8()
  • Method Details

    • toChars

      public static void toChars(ByteBuffer bb, CharBuffer cb)
      Convert the bytes in the ByteBuffer to characters in the CharBuffer. The CharBuffer must be large enough.
    • fromChars

      public static void fromChars(CharBuffer cb, ByteBuffer bb)
      Convert characters to UTF-8 bytes in the ByteBuffer. The ByteBuffer must be large enough.
    • toString

      public static String toString(ByteBuffer bb)
      Make a string from UTF-8 bytes in a ByteBuffer
    • fromChars

      public static void fromChars(CharSequence cs, ByteBuffer bb)