public class JavaUtf8Codec extends Object
This is different to Standard UTF-8 in that in Standard UTF-8 the null character 0x0000 is converted to a zero byte value, where as in Java UTF-8 the zero byte value is converted into the two byte sequence 0xC0 0x80.
Modifier and Type | Class and Description |
---|---|
static class |
TextCodecObject.InsertStripCRIndexes |
Modifier and Type | Field and Description |
---|---|
static int |
ADD_CR_ALWAYS
This is a creation option.
|
static int |
ADD_CR_PLATFORM_DEPENDENT
This is a creation option to be used with either of the other ADD_CR_XXX options.
|
static int |
ADD_CR_SMART
This is a creation option.
|
static int |
STRIP_CR
This is a creation option.
|
static int |
STRIP_CR_ON_DECODE
This is a creation option.
|
static int |
STRIP_CR_ON_ENCODE
This is a creation option.
|
Constructor and Description |
---|
JavaUtf8Codec() |
JavaUtf8Codec(int options) |
Modifier and Type | Method and Description |
---|---|
void |
closeCodec()
This aborts any on-going processing and frees resources associated with the codec.
|
CharArray |
decodeText(byte[] encoded,
int start,
int length,
boolean endOfData,
CharArray dest)
Decode the bytes into Unicode characters.
|
ByteArray |
encodeText(char[] text,
int start,
int length,
boolean endOfData,
ByteArray dest)
Enocde the Unicode characters into a byte Stream.
|
Object |
getCopy()
This should return a new instance of the TextCodec, ready to begin converting a new set of
data.
|
protected TextCodecObject.InsertStripCRIndexes |
insertStripCR(char[] src,
int offset,
int length) |
static boolean |
platformUsesCRforNewLine()
Return true if the underlying platform uses CR with a new line.
|
void |
reset()
Reset the codec for both input and output.
|
public static final int STRIP_CR_ON_DECODE
public static final int STRIP_CR_ON_ENCODE
public static final int STRIP_CR
public static final int ADD_CR_SMART
public static final int ADD_CR_ALWAYS
public static final int ADD_CR_PLATFORM_DEPENDENT
public JavaUtf8Codec(int options)
public JavaUtf8Codec()
public void reset()
TextCodec
public ByteArray encodeText(char[] text, int start, int length, boolean endOfData, ByteArray dest) throws IOException
TextCodec
text
- The characters to encode. This can be null if length is zero and endOfData is true. You
would use those settings to tell the codec that no more characters are to be encoded and
the final set of output bytes (if any) should be output.start
- The start of the characters in the text array.length
- The number of characters to encode.endOfData
- If this is true this tells the codec that no more characters are to be
encoded and the final set of output bytes (if any) should be output.dest
- A ByteArray to hold the output data. The output data is appended to the data member and
and the length member holds how many bytes were output.IOException
- if an error occurs during encoding.public CharArray decodeText(byte[] encoded, int start, int length, boolean endOfData, CharArray dest) throws IOException
TextCodec
encoded
- The encoded bytes. This can be null if length is zero and endOfData is true. You
would use those settings to tell the codec that no more characters are to be decoded and
the final set of decoded characters (if any) should be output.start
- The start of the bytes in the byte array.length
- The number of bytes to decode.endOfData
- If this is true this tells the codec that no more characters are to be decoded and
the final set of decoded characters (if any) should be output.dest
- A CharArray to hold the output data. The output data is appended to the data member and
and the length member will be updated to indicate how many bytes were appended.IOException
- if an error occurs during decoding, including badly formatted data.public void closeCodec() throws IOException
TextCodec
IOException
public Object getCopy()
TextCodec
public static boolean platformUsesCRforNewLine()
protected TextCodecObject.InsertStripCRIndexes insertStripCR(char[] src, int offset, int length)