Package org.jcodings
Class MultiByteEncoding
- java.lang.Object
-
- org.jcodings.Encoding
-
- org.jcodings.AbstractEncoding
-
- org.jcodings.MultiByteEncoding
-
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
CanBeTrailTableEncoding
,EmacsMuleEncoding
,EucEncoding
,GB18030Encoding
,UnicodeEncoding
public abstract class MultiByteEncoding extends AbstractEncoding
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
MultiByteEncoding(java.lang.String name, int minLength, int maxLength, int[] EncLen, int[][] Trans, short[] CTypeTable)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
caseMap(IntHolder flagP, byte[] bytes, IntHolder pp, int end, byte[] to, int toP, int toEnd)
Oniguruma equivalent:case_map
static boolean
isInRange(int code, int from, int to)
int
length(byte c)
Returns character length given character head returns1
for singlebyte encodings or performs direct length table lookup for multibyte ones.private int
lengthForThree(byte[] bytes, int p, int end, int b, int s)
private int
lengthForThreeUptoFour(byte[] bytes, int p, int end, int b, int s)
private int
lengthForTwo(byte[] bytes, int p, int end, int b, int s)
protected int
lengthForTwoUptoFour(byte[] bytes, int p, int end, int b, int s)
private int
lengthForTwoUptoThree(byte[] bytes, int p, int end, int b, int s)
protected int
mb2CodeToMbc(int code, byte[] bytes, int p)
protected int
mb2CodeToMbcLength(int code)
protected boolean
mb2IsCodeCType(int code, int ctype)
protected int
mb4CodeToMbc(int code, byte[] bytes, int p)
protected int
mb4CodeToMbcLength(int code)
protected boolean
mb4IsCodeCType(int code, int ctype)
protected int
mbnMbcCaseFold(int flag, byte[] bytes, IntHolder pp, int end, byte[] lower)
protected int
mbnMbcToCode(byte[] bytes, int p, int end)
protected int
missing(int n)
protected int
missing(int b, int delta)
protected int
safeLengthForUptoFour(byte[] bytes, int p, int end)
protected int
safeLengthForUptoThree(byte[] bytes, int p, int end)
protected int
safeLengthForUptoTwo(byte[] bytes, int p, int end)
int
strCodeAt(byte[] bytes, int p, int end, int index)
int
strLength(byte[] bytes, int p, int end)
-
Methods inherited from class org.jcodings.AbstractEncoding
applyAllCaseFold, asciiApplyAllCaseFold, asciiCaseFoldCodesByString, asciiMbcCaseFold, asciiOnlyCaseMap, caseFoldCodesByString, isCodeCTypeInternal, isNewLine, mbcCaseFold, propertyNameToCType, singleByteAsciiOnlyCaseMap
-
Methods inherited from class org.jcodings.Encoding
asciiToLower, asciiToUpper, codeToMbc, codeToMbcLength, ctypeCodeRange, digitVal, equals, getCharset, getCharsetName, getIndex, getName, hashCode, isAlnum, isAlpha, isAscii, isAscii, isAsciiCompatible, isBlank, isCntrl, isCodeCType, isDigit, isDummy, isFixedWidth, isGraph, isLower, isMbcAscii, isMbcCrnl, isMbcHead, isMbcWord, isNewLine, isPrint, isPunct, isReverseMatchAllowed, isSbWord, isSingleByte, isSpace, isUnicode, isUpper, isUTF8, isWord, isWordGraphPrint, isXDigit, leftAdjustCharHead, length, load, load, maxLength, maxLengthDistance, mbcodeStartPosition, mbcToCode, minLength, odigitVal, prevCharHead, replicate, rightAdjustCharHead, rightAdjustCharHeadWithPrev, setDummy, setName, setName, step, stepBack, strByteLengthNull, strLengthNull, strNCmp, toLowerCaseTable, toString, xdigitVal
-
-
-
-
Field Detail
-
EncLen
protected final int[] EncLen
-
A
protected static final int A
- See Also:
- Constant Field Values
-
F
protected static final int F
- See Also:
- Constant Field Values
-
Trans
protected final int[][] Trans
-
TransZero
protected final int[] TransZero
-
-
Method Detail
-
length
public int length(byte c)
Description copied from class:Encoding
Returns character length given character head returns1
for singlebyte encodings or performs direct length table lookup for multibyte ones.
-
missing
protected final int missing(int n)
-
missing
protected final int missing(int b, int delta)
-
safeLengthForUptoFour
protected final int safeLengthForUptoFour(byte[] bytes, int p, int end)
-
lengthForTwoUptoFour
protected final int lengthForTwoUptoFour(byte[] bytes, int p, int end, int b, int s)
-
lengthForThreeUptoFour
private int lengthForThreeUptoFour(byte[] bytes, int p, int end, int b, int s)
-
safeLengthForUptoThree
protected final int safeLengthForUptoThree(byte[] bytes, int p, int end)
-
lengthForTwoUptoThree
private int lengthForTwoUptoThree(byte[] bytes, int p, int end, int b, int s)
-
lengthForThree
private int lengthForThree(byte[] bytes, int p, int end, int b, int s)
-
safeLengthForUptoTwo
protected final int safeLengthForUptoTwo(byte[] bytes, int p, int end)
-
lengthForTwo
private int lengthForTwo(byte[] bytes, int p, int end, int b, int s)
-
mbnMbcToCode
protected final int mbnMbcToCode(byte[] bytes, int p, int end)
-
caseMap
public int caseMap(IntHolder flagP, byte[] bytes, IntHolder pp, int end, byte[] to, int toP, int toEnd)
Description copied from class:Encoding
Oniguruma equivalent:case_map
-
mbnMbcCaseFold
protected final int mbnMbcCaseFold(int flag, byte[] bytes, IntHolder pp, int end, byte[] lower)
-
mb2CodeToMbcLength
protected final int mb2CodeToMbcLength(int code)
-
mb4CodeToMbcLength
protected final int mb4CodeToMbcLength(int code)
-
mb2CodeToMbc
protected final int mb2CodeToMbc(int code, byte[] bytes, int p)
-
mb4CodeToMbc
protected final int mb4CodeToMbc(int code, byte[] bytes, int p)
-
mb2IsCodeCType
protected final boolean mb2IsCodeCType(int code, int ctype)
-
mb4IsCodeCType
protected final boolean mb4IsCodeCType(int code, int ctype)
-
strLength
public int strLength(byte[] bytes, int p, int end)
-
strCodeAt
public int strCodeAt(byte[] bytes, int p, int end, int index)
-
isInRange
public static boolean isInRange(int code, int from, int to)
-
-