sun.io
Class CharToByteDBCS_ASCII
java.lang.Object
sun.io.CharToByteConverter
sun.io.CharToByteDBCS_ASCII
- Direct Known Subclasses:
- CharToByteCp1381, CharToByteCp1383, CharToByteCp942, CharToByteCp942C, CharToByteCp943, CharToByteCp943C, CharToByteCp948, CharToByteCp950
public abstract class CharToByteDBCS_ASCII
- extends CharToByteConverter
|
Method Summary |
boolean |
canConvert(char ch)
Returns true if the given character can be converted to the
target character encoding. |
int |
convert(char[] input,
int inOff,
int inEnd,
byte[] output,
int outOff,
int outEnd)
Character conversion |
int |
flush(byte[] output,
int outStart,
int outEnd)
flush out any residual data and reset the buffer state |
int |
getMaxBytesPerChar()
Returns the maximum number of bytes needed to convert a char. |
void |
reset()
Resets converter to its initial state. |
| Methods inherited from class sun.io.CharToByteConverter |
convertAll, convertAny, flushAny, getBadInputLength, getCharacterEncoding, getConverter, getDefault, nextByteIndex, nextCharIndex, setSubstitutionBytes, setSubstitutionMode, toString |
index1
protected short[] index1
index2
protected String index2
index2a
protected String index2a
mask1
protected int mask1
mask2
protected int mask2
shift
protected int shift
CharToByteDBCS_ASCII
public CharToByteDBCS_ASCII()
flush
public int flush(byte[] output,
int outStart,
int outEnd)
throws MalformedInputException,
ConversionBufferFullException
- flush out any residual data and reset the buffer state
- Specified by:
flush in class CharToByteConverter
- Parameters:
output - byte array to receive flushed output.outStart - start writing to output array at this offset.outEnd - stop writing to output array at this offset (exclusive).
- Throws:
MalformedInputException - if the output to be flushed contained
a partial or invalid multibyte character sequence. Will occur if the
input buffer on the last call to convert ended with the first character
of a surrogate pair. flush will write what it can to the output buffer
and reset the converter before throwing this exception. An additional
call to flush is not required.
ConversionBufferFullException - if output array is filled
before all the output can be flushed. flush will write what it can
to the output buffer and remember its state. An additional call to
flush with a new output buffer will conclude the operation.
convert
public int convert(char[] input,
int inOff,
int inEnd,
byte[] output,
int outOff,
int outEnd)
throws UnknownCharacterException,
MalformedInputException,
ConversionBufferFullException
- Character conversion
- Specified by:
convert in class CharToByteConverter
- Parameters:
input - array containing Unicode characters to be converted.inOff - begin conversion at this offset in input array.inEnd - stop conversion at this offset in input array (exclusive).output - byte array to receive conversion result.outOff - start writing to output array at this offset.outEnd - stop writing to output array at this offset (exclusive).
- Returns:
- the number of bytes written to output.
- Throws:
UnknownCharacterException - for any character that
that cannot be converted to the external character encoding. Thrown
only when converter is not in substitution mode.
MalformedInputException - if the input buffer contains any
sequence of chars that is illegal in Unicode (principally unpaired
surrogates and ? or ?). After this exception is thrown,
the method nextCharIndex can be called to obtain the index of the
first invalid input character. The MalformedInputException can
be queried for the length of the invalid input.
ConversionBufferFullException - if output array is filled prior
to converting all the input.
reset
public void reset()
- Resets converter to its initial state.
- Specified by:
reset in class CharToByteConverter
getMaxBytesPerChar
public int getMaxBytesPerChar()
- Returns the maximum number of bytes needed to convert a char.
- Specified by:
getMaxBytesPerChar in class CharToByteConverter
canConvert
public boolean canConvert(char ch)
- Returns true if the given character can be converted to the
target character encoding.
- Overrides:
canConvert in class CharToByteConverter
- Parameters:
ch - character to test
- Returns:
- true if given character is translatable, false otherwise.