Class UTF32Reader

java.lang.Object
java.io.Reader
com.fasterxml.jackson.core.io.UTF32Reader
All Implemented Interfaces:
Closeable, AutoCloseable, Readable

public class UTF32Reader extends Reader
Since JDK does not come with UTF-32/UCS-4, let's implement a simple decoder to use.
  • Field Details

    • LAST_VALID_UNICODE_CHAR

      protected static final int LAST_VALID_UNICODE_CHAR
      JSON actually limits available Unicode range in the high end to the same as xml (to basically limit UTF-8 max byte sequence length to 4)
      See Also:
    • NC

      protected static final char NC
      See Also:
    • _context

      protected final IOContext _context
    • _in

      protected InputStream _in
    • _buffer

      protected byte[] _buffer
    • _ptr

      protected int _ptr
    • _length

      protected int _length
    • _bigEndian

      protected final boolean _bigEndian
    • _surrogate

      protected char _surrogate
      Although input is fine with full Unicode set, Java still uses 16-bit chars, so we may have to split high-order chars into surrogate pairs.
    • _charCount

      protected int _charCount
      Total read character count; used for error reporting purposes
    • _byteCount

      protected int _byteCount
      Total read byte count; used for error reporting purposes
    • _managedBuffers

      protected final boolean _managedBuffers
    • _tmpBuf

      protected char[] _tmpBuf
  • Constructor Details

    • UTF32Reader

      public UTF32Reader(IOContext ctxt, InputStream in, byte[] buf, int ptr, int len, boolean isBigEndian)
  • Method Details