Class FixedWidthUnicodeEncoding

All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
UTF32BEEncoding, UTF32LEEncoding

public abstract class FixedWidthUnicodeEncoding extends UnicodeEncoding
  • Field Details

    • shift

      protected final int shift
  • Constructor Details

    • FixedWidthUnicodeEncoding

      protected FixedWidthUnicodeEncoding(String name, int width)
  • Method Details

    • length

      public final int length(byte c)
      Description copied from class: Encoding
      Returns character length given character head returns 1 for singlebyte encodings or performs direct length table lookup for multibyte ones.
      Overrides:
      length in class MultiByteEncoding
      Parameters:
      c - Character head Oniguruma equivalent: mbc_enc_len To be deprecated very soon (use length(byte[]bytes, int p, int end) version)
    • length

      public int length(byte[] bytes, int p, int e)
      Description copied from class: Encoding
      Returns character length given stream, character position and stream end returns 1 for singlebyte encodings or performs sanity validations for multibyte ones and returns the character length, missing characters in the stream otherwise
      Specified by:
      length in class Encoding
      Returns:
      0 Never > 0 Valid character, length returned -1 Illegal/malformed character < -1 (-1 - n) Number of missing bytes for character in p...end range Oniguruma equivalent: mbc_enc_len modified for 1.9 purposes,
    • strLength

      public final int strLength(byte[] bytes, int p, int end)
      Overrides:
      strLength in class MultiByteEncoding
    • strCodeAt

      public final int strCodeAt(byte[] bytes, int p, int end, int index)
      Overrides:
      strCodeAt in class MultiByteEncoding
    • codeToMbcLength

      public final int codeToMbcLength(int code)
      Description copied from class: Encoding
      Returns character length given a code point Oniguruma equivalent: code_to_mbclen
      Specified by:
      codeToMbcLength in class Encoding
    • ctypeCodeRange

      public final int[] ctypeCodeRange(int ctype, IntHolder sbOut)
      onigenc_utf16_32_get_ctype_code_range
      Specified by:
      ctypeCodeRange in class Encoding
    • leftAdjustCharHead

      public final int leftAdjustCharHead(byte[] bytes, int p, int s, int end)
      Description copied from class: Encoding
      Seeks the previous character head in a stream Oniguruma equivalent: left_adjust_char_head
      Specified by:
      leftAdjustCharHead in class Encoding
      Parameters:
      bytes - byte stream
      p - position
      s - stop
      end - end
    • isReverseMatchAllowed

      public final boolean isReverseMatchAllowed(byte[] bytes, int p, int end)
      Description copied from class: Encoding
      Returns true if it's safe to use reversal Boyer-Moore search fail fast algorithm Oniguruma equivalent: is_allowed_reverse_match
      Specified by:
      isReverseMatchAllowed in class Encoding
    • log2

      private static int log2(int n)