|
Unicorn XML Toolkit Version 1.50.00 |
|||||||||
� PREV CLASS �� NEXT CLASS | FRAMES��NO FRAMES | |||||||||
SUMMARY: � CONSTR �|� FUNCTION �|�DATA | DETAIL: � CONSTR �|� FUNCTION �|�DATA |
class CUtf16Encoding: public CEncoding { public: CUtf16Encoding(bool bBigEndian=true); ~CUtf16Encoding(); public: const WCHAR *GetName(); int Get( const BYTE *pSource, int nSourceLength, int &nSourceAdvance, WCHAR *chBuffer, int nBufferLimit, bool &bUnderflow); int Put( const WCHAR *chSource, int nSourceLength, BYTE *pBuffer, int nBufferLimit, int &nBufferAdvance, bool &bUnsupported); int Skip( const WCHAR *chSource, int nSourceLength); const WCHAR *Signature(int &nLength); };
The implementation of UTF-16 encoding.
Constructor/Destructor Summary | |
CUtf16Encoding
(bool bBigEndian=true);
����������Constructs the encoding. |
|
~CUtf16Encoding
();
����������Destroys the encoding. |
Function Summary | |
const�WCHAR�*
|
GetName
();
����������Returns a name of this encoding. |
int
|
Get
(const BYTE *pSource, int nSourceLength, int &nSourceAdvance, WCHAR *chBuffer, int nBufferLimit, bool &bUnderflow);
����������Converts (decodes) an array of bytes into an array of Unicode characters according to this character encoding. |
int
|
Put
(const WCHAR *chSource, int nSourceLength, BYTE *pBuffer, int nBufferLimit, int &nBufferAdvance, bool &bUnsupported);
����������Converts (encodes) an array of characters into an array of bytes according to this character encoding. |
int
|
Skip
(const WCHAR *chSource, int nSourceLength);
����������Skips a contiguous group of characters, unsupported by this encoding. |
const�WCHAR�*
|
Signature
(int &nLength);
����������Returns an array of characters which is used as a signature by this encoding. |
Constructor/Destructor Detail |
CUtf16Encoding(bool bBigEndian=true);
Constructs the encoding.
bBigEndian
-
true
to construct
the big-endian version of encoding;
false
to construct the little-endian version~CUtf16Encoding();
Destroys the encoding.
Function Detail |
const WCHAR *GetName();
Returns a name of this encoding.
"UTF-16"
)int Get( const BYTE *pSource, int nSourceLength, int &nSourceAdvance, WCHAR *chBuffer, int nBufferLimit, bool &bUnderflow);
Converts (decodes) an array of bytes into an array of Unicode characters according to this character encoding.
This function tries to convert as many bytes from the input array as possible. However, conversion of the entire input array may be impossible, if either the end of the result buffer is reached, or if the last few bytes of the input array do not provide a full representation of a valid Unicode character (the latter case may be encountered when the large byte array is processed in smaller buffers, and a sequence of bytes representing a particular character is split at the buffer boundary).
pSource
- the input array of bytesnSourceLength
- the number of bytes in the input arraynSourceAdvance
- on return, the number of bytes
in the input array actually convertedchBuffer
- the result buffer;
on return, contains the result of conversionnBufferLimit
- the capacity of the result buffer,
in charactersbUnderflow
- on return,
true
if the few
last bytes if the input array do not provide the full representation of
a valid Unicode character;
false
otherwiseint Put( const WCHAR *chSource, int nSourceLength, BYTE *pBuffer, int nBufferLimit, int &nBufferAdvance, bool &bUnsupported);
Converts (encodes) an array of characters into an array of bytes according to this character encoding.
This function tries to convert as many characters from the input array as possible. However, conversion of the entire input array may be impossible, if either the end of the result buffer is reached, or a character not supported by this encoding is encountered in the input buffer.
chSource
- the input array of charactersnSourceLength
- the number of characters
in the input arraypBuffer
- the result buffer;
on return, contains the result of conversionnBufferLimit
- the capacity of the result buffer,
in bytesnBufferAdvance
- on return, the number of bytes
placed into the result bufferbUnsupported
- on return,
true
if a character not supported by this encoding was encountered
in the input bufferint Skip( const WCHAR *chSource, int nSourceLength);
Skips a contiguous group of characters, unsupported by this encoding.
If the first character in the specified input buffer
is supported by this encoding, this function returns
0
. If the first character in the input buffer
is not supported by this encoding, this function returns
the length of the longest contiguous group of
input characters unsupported by this encoding,
started with the first character in the buffer.
chSource
- the input buffernSourceLength
- the number of characters in
the input bufferconst WCHAR *Signature(int &nLength);
Returns an array of characters which is used as a signature by this encoding.
The UTF-16 encoding employs a single character with
the hexadecimal code
FEFF
as a signature to
specify the byte order (the byte order mark).
nLength
- on return, the number of characters
in the signature (
1
for UTF-16)FEFF
for UTF-16)
|
Unicorn XML Toolkit Version 1.50.00 |
|||||||||
� PREV CLASS �� NEXT CLASS | FRAMES��NO FRAMES | |||||||||
SUMMARY: � CONSTR �|� FUNCTION �|�DATA | DETAIL: � CONSTR �|� FUNCTION �|�DATA |