code: public int charAt(int position) {
          if (position > this.length)
              return -1; // too long
          if (position < 0)
              return -1; // duh.
  
          ByteBuffer bb = (ByteBuffer) ByteBuffer.wrap(bytes).position(position);
          return bytesToCodePoint(bb.slice());
      }
docs: Returns the Unicode Scalar Value (32-bit integer value)
  for the character at <code>position</code>. Note that this
  method avoids using the converter or doing String instatiation
  @return the Unicode scalar value at position or -1
  if the position is invalid or points to a
  trailing byte