Encoding services. More...

Inherits System::Object.

Inherited by System::Text::ICUEncoding, and System::Text::UTF7Encoding.

Public Types

typedef System::SharedPtr< EncodingPtr
 Pointer type. More...
 
- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 
typedef System::Details::SharedMembersType shared_members_type
 structure to keep list of shared pointers contained in object. More...
 

Public Member Functions

virtual bool Equals (ptr obj) override
 
virtual int GetHashCode () const override
 
virtual int get_CodePage ()
 
virtual int get_WindowsCodePage ()
 
virtual String get_WebName ()
 
virtual String get_BodyName ()
 
virtual String get_EncodingName ()
 
virtual String get_HeaderName ()
 
virtual bool get_IsSingleByte ()
 
virtual bool get_IsBrowserDisplay ()
 
virtual bool get_IsBrowserSave ()
 
virtual bool get_IsMailNewsDisplay ()
 
virtual bool get_IsMailNewsSave ()
 
virtual bool get_IsReadOnly ()
 
virtual DecoderFallbackPtr get_DecoderFallback () const
 
virtual void set_DecoderFallback (const DecoderFallbackPtr value)
 
virtual const EncoderFallbackPtr get_EncoderFallback () const
 
virtual void set_EncoderFallback (const EncoderFallbackPtr value)
 
virtual int GetByteCount (const ArrayPtr< char_t > &chars, int index, int count)
 
virtual int GetByteCount (const String &s)
 
virtual int GetByteCount (const ArrayPtr< char_t > &chars)
 
virtual int GetByteCount (const char_t *chars, int count)
 
virtual int GetBytes (const ArrayPtr< char_t > &chars, int charIndex, int charCount, const ArrayPtr< uint8_t > &bytes, int byteIndex)
 
virtual int GetBytes (const String &s, int charIndex, int charCount, const ArrayPtr< uint8_t > &bytes, int byteIndex)
 
virtual ArrayPtr< uint8_t > GetBytes (const String &s)
 
virtual ArrayPtr< uint8_t > GetBytes (const ArrayPtr< char_t > &chars, int index, int count)
 
virtual ArrayPtr< uint8_t > GetBytes (const ArrayPtr< char_t > &chars)
 
virtual int GetBytes (const char_t *chars, int charCount, uint8_t *bytes, int byteCount)
 
virtual int GetCharCount (const ArrayPtr< uint8_t > &bytes, int index, int count)
 
virtual int GetCharCount (const ArrayPtr< uint8_t > &bytes)
 
virtual int GetCharCount (const uint8_t *bytes, int count)
 
virtual int GetChars (const ArrayPtr< uint8_t > &bytes, int byteIndex, int byteCount, const ArrayPtr< char_t > &chars, int charIndex)
 
virtual ArrayPtr< char_t > GetChars (const ArrayPtr< uint8_t > &bytes, int index, int count)
 
virtual ArrayPtr< char_t > GetChars (const ArrayPtr< uint8_t > &bytes)
 
virtual int GetChars (const uint8_t *bytes, int byteCount, char_t *chars, int charCount)
 
virtual DecoderPtr GetDecoder ()
 
virtual EncoderPtr GetEncoder ()
 
virtual String GetString (uint8_t *bytes, int byteCount)
 
virtual String GetString (const ArrayPtr< uint8_t > &bytes)
 
virtual String GetString (const ArrayPtr< uint8_t > &bytes, int index, int count)
 
virtual int GetMaxByteCount (int charCount)=0
 
virtual int GetMaxCharCount (int byteCount)=0
 
virtual SharedPtr< ObjectClone ()
 
virtual ArrayPtr< uint8_t > GetPreamble ()
 
- Public Member Functions inherited from System::Object
 Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ~Object ()
 Destroys object. Frees all internal data structures. More...
 
 Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared refernce counter. More...
 
void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual String ToString () ASPOSE_CONST
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual void SetTemplateWeakPtr (unsigned int argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 
template<>
bool Equals (double const &objA, double const &objB)
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 

Static Public Member Functions

static ArrayPtr< uint8_t > Convert (const EncodingPtr &srcEncoding, const EncodingPtr &dstEncoding, const ArrayPtr< uint8_t > &bytes)
 
static ArrayPtr< uint8_t > Convert (const EncodingPtr &srcEncoding, const EncodingPtr &dstEncoding, const ArrayPtr< uint8_t > &bytes, int index, int count)
 
static EncodingPtr get_ASCII ()
 
static EncodingPtr get_BigEndianUnicode ()
 
static EncodingPtr get_Unicode ()
 
static EncodingPtr get_UTF8 ()
 
static EncodingPtr get_UTF8Unmarked ()
 
static EncodingPtr get_UTF32 ()
 
static EncodingPtr get_BigEndianUTF32 ()
 
static EncodingPtr get_UTF7 ()
 
static EncodingPtr GetEncoding (const String &name)
 
static EncodingPtr GetEncoding (int codepage)
 
static EncodingPtr GetEncoding (int codepage, const EncoderFallbackPtr &encoderFallback, const DecoderFallbackPtr &decoderFallback)
 
static EncodingPtr GetEncoding (const String &name, const EncoderFallbackPtr &encoderFallback, const DecoderFallbackPtr &decoderFallback)
 
static EncodingPtr get_Default ()
 
static System::ArrayPtr< System::SharedPtr< EncodingInfo > > GetEncodings ()
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Impleemnts C# typeof(System.Object) construct. More...
 

Protected Member Functions

 Encoding (int codePage_)
 
void SetDefaultFallbacks ()
 Sets encoding and decoding fallbacks to default. More...
 

Protected Attributes

int codePage
 Codepage number. More...
 

Detailed Description

Encoding services.

Member Typedef Documentation

◆ Ptr

Constructor & Destructor Documentation

◆ Encoding()

System::Text::Encoding::Encoding ( int  codePage_)
protected

Constructor.

Parameters
codePage_Codepage number.

Member Function Documentation

◆ Clone()

virtual SharedPtr<Object> System::Text::Encoding::Clone ( )
virtual

◆ Convert() [1/2]

static ArrayPtr<uint8_t> System::Text::Encoding::Convert ( const EncodingPtr srcEncoding,
const EncodingPtr dstEncoding,
const ArrayPtr< uint8_t > &  bytes 
)
static

Converts bytes between two encodings.

Parameters
srcEncodingSource encoding.
dstEncodingDestination encoding.
bytesBytes to convert.
Returns
Converted bytes.

◆ Convert() [2/2]

static ArrayPtr<uint8_t> System::Text::Encoding::Convert ( const EncodingPtr srcEncoding,
const EncodingPtr dstEncoding,
const ArrayPtr< uint8_t > &  bytes,
int  index,
int  count 
)
static

Converts bytes between two encodings.

Parameters
srcEncodingSource encoding.
dstEncodingDestination encoding.
bytesBytes to convert.
indexSlice beginning.
countSlice size.
Returns
Converted bytes.

◆ Equals()

virtual bool System::Text::Encoding::Equals ( ptr  obj)
overridevirtual

Compares encodings.

Parameters
objObject to compare to.
Returns
True if both objects are of same encoding type, false otherwise.

Reimplemented from System::Object.

Reimplemented in System::Text::UTF7Encoding, System::Text::UTF32Encoding, System::Text::ICUEncoding, System::Text::UTF8Encoding, and System::Text::UnicodeEncoding.

◆ get_ASCII()

static EncodingPtr System::Text::Encoding::get_ASCII ( )
static

Gets ASCII encoding.

Returns
ASCII encoding.

◆ get_BigEndianUnicode()

static EncodingPtr System::Text::Encoding::get_BigEndianUnicode ( )
static

Gets the standard big-endian Unicode encoding object.

Returns
Big endian unicode encoding.

◆ get_BigEndianUTF32()

static EncodingPtr System::Text::Encoding::get_BigEndianUTF32 ( )
static

Gets the standard big-endian UTF-32 encoding object.

Returns
Big-endian UTF-32 encoding.

◆ get_BodyName()

virtual String System::Text::Encoding::get_BodyName ( )
virtual

Gets mail agent body compatible encoding name.

Returns
Name of encoding.

◆ get_CodePage()

virtual int System::Text::Encoding::get_CodePage ( )
virtual

◆ get_DecoderFallback()

virtual DecoderFallbackPtr System::Text::Encoding::get_DecoderFallback ( ) const
virtual

Gets decoder fallback.

Returns
Decoder fallback object.

◆ get_Default()

static EncodingPtr System::Text::Encoding::get_Default ( )
static

Gets default encoding.

Returns
Encoding object.

◆ get_EncoderFallback()

virtual const EncoderFallbackPtr System::Text::Encoding::get_EncoderFallback ( ) const
virtual

Gets encoder fallback.

Returns
Encoder fallback object.

◆ get_EncodingName()

virtual String System::Text::Encoding::get_EncodingName ( )
virtual

Gets human-readable encoding name.

Returns
Name of encoding.

Reimplemented in System::Text::UTF7Encoding, System::Text::UTF32Encoding, and System::Text::ICUEncoding.

◆ get_HeaderName()

virtual String System::Text::Encoding::get_HeaderName ( )
virtual

Gets mail agent header compatible encoding name.

Returns
Name of encoding.

Reimplemented in System::Text::ICUEncoding.

◆ get_IsBrowserDisplay()

virtual bool System::Text::Encoding::get_IsBrowserDisplay ( )
virtual

Checks whether encoding can be used in browser to display content.

Returns
True if encoding can be used in browser to display content, false otherwise.

Reimplemented in System::Text::ICUEncoding.

◆ get_IsBrowserSave()

virtual bool System::Text::Encoding::get_IsBrowserSave ( )
virtual

Checks whether encoding can be used in browser to save content.

Returns
True if encoding can be used in browser to save content, false otherwise.

Reimplemented in System::Text::ICUEncoding.

◆ get_IsMailNewsDisplay()

virtual bool System::Text::Encoding::get_IsMailNewsDisplay ( )
virtual

Checks whether encoding can be used in mail client to display content.

Returns
True if encoding can be used in mail client to display content, false otherwise.

Reimplemented in System::Text::ICUEncoding.

◆ get_IsMailNewsSave()

virtual bool System::Text::Encoding::get_IsMailNewsSave ( )
virtual

Checks whether encoding can be used in mail client to save content.

Returns
True if encoding can be used in mail client to save content, false otherwise.

Reimplemented in System::Text::ICUEncoding.

◆ get_IsReadOnly()

virtual bool System::Text::Encoding::get_IsReadOnly ( )
virtual

Checks whether encoding is read-only.

Returns
True if encoding is read-only, false otherwise.

Reimplemented in System::Text::ICUEncoding.

◆ get_IsSingleByte()

virtual bool System::Text::Encoding::get_IsSingleByte ( )
virtual

Checks whether encoding is single byte.

Returns
True if single character encodes into single byte, false otherwise.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ get_Unicode()

static EncodingPtr System::Text::Encoding::get_Unicode ( )
static

Gets the standard Unicode encoding object.

Returns
Unicode encoding.

◆ get_UTF32()

static EncodingPtr System::Text::Encoding::get_UTF32 ( )
static
Returns
UTF-32 encoding.

◆ get_UTF7()

static EncodingPtr System::Text::Encoding::get_UTF7 ( )
static

Gets the standard UTF-7 encoding object.

Returns
UTF-7 encoding.

◆ get_UTF8()

static EncodingPtr System::Text::Encoding::get_UTF8 ( )
static

Gets the standard UTF-8 encoding object.

Returns
UTF-8 encoding.

◆ get_UTF8Unmarked()

static EncodingPtr System::Text::Encoding::get_UTF8Unmarked ( )
static

Only internal, to be used by the class libraries: Unmarked and non-input-validating

Returns
Optimized UTF-8 encoding.

◆ get_WebName()

virtual String System::Text::Encoding::get_WebName ( )
virtual

Gets IANA-compatible encoding name.

Returns
Name of encoding.

Reimplemented in System::Text::UnicodeEncoding.

◆ get_WindowsCodePage()

virtual int System::Text::Encoding::get_WindowsCodePage ( )
virtual

Gets Windows codepage ID.

Returns
Codepage ID.

Reimplemented in System::Text::ICUEncoding.

◆ GetByteCount() [1/4]

virtual int System::Text::Encoding::GetByteCount ( const ArrayPtr< char_t > &  chars,
int  index,
int  count 
)
virtual

Get the number of characters needed to encode a character buffer.

Parameters
charsCharacters buffer.
indexSlice begin.
countSlice size.
Returns
Required buffer size.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ GetByteCount() [2/4]

virtual int System::Text::Encoding::GetByteCount ( const String s)
virtual

Get the number of characters needed to encode a string.

Parameters
sString to encode.
Returns
Required buffer size.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ GetByteCount() [3/4]

virtual int System::Text::Encoding::GetByteCount ( const ArrayPtr< char_t > &  chars)
virtual

Get the number of characters needed to encode a character buffer.

Parameters
charsCharacters buffer.
Returns
Required buffer size.

Reimplemented in System::Text::ICUEncoding.

◆ GetByteCount() [4/4]

virtual int System::Text::Encoding::GetByteCount ( const char_t *  chars,
int  count 
)
virtual

Get the number of characters needed to encode a character buffer.

Parameters
charsCharacters buffer.
countBuffer size.
Returns
Required buffer size.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ GetBytes() [1/6]

virtual int System::Text::Encoding::GetBytes ( const ArrayPtr< char_t > &  chars,
int  charIndex,
int  charCount,
const ArrayPtr< uint8_t > &  bytes,
int  byteIndex 
)
virtual

Get the bytes that result from encoding a character buffer.

Parameters
charsCharacters to encode.
charIndexCharacter slice beginning.
charCountNumber of characters to convert.
bytesBuffer to put characters to.
byteIndexOutput buffer offset.
Returns
Number of written bytes.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ GetBytes() [2/6]

virtual int System::Text::Encoding::GetBytes ( const String s,
int  charIndex,
int  charCount,
const ArrayPtr< uint8_t > &  bytes,
int  byteIndex 
)
virtual

Get the bytes that result from encoding a character buffer.

Parameters
sString to encode.
charIndexCharacter slice beginning.
charCountNumber of characters to convert.
bytesBuffer to put characters to.
byteIndexOutput buffer offset.
Returns
Number of written bytes.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ GetBytes() [3/6]

virtual ArrayPtr<uint8_t> System::Text::Encoding::GetBytes ( const String s)
virtual

Get the bytes that result from encoding a character buffer.

Parameters
sString to encode.
Returns
Buffer that holds representation of characters being encoded.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ GetBytes() [4/6]

virtual ArrayPtr<uint8_t> System::Text::Encoding::GetBytes ( const ArrayPtr< char_t > &  chars,
int  index,
int  count 
)
virtual

Get the bytes that result from encoding a character buffer.

Parameters
charsCharacters to encode.
indexCharacter slice beginning.
countNumber of characters to convert.
Returns
Buffer that holds representation of characters being encoded.

Reimplemented in System::Text::ICUEncoding.

◆ GetBytes() [5/6]

virtual ArrayPtr<uint8_t> System::Text::Encoding::GetBytes ( const ArrayPtr< char_t > &  chars)
virtual

Get the bytes that result from encoding a character buffer.

Parameters
charsCharacters to encode.
Returns
Buffer that holds representation of characters being encoded.

Reimplemented in System::Text::ICUEncoding.

◆ GetBytes() [6/6]

virtual int System::Text::Encoding::GetBytes ( const char_t *  chars,
int  charCount,
uint8_t *  bytes,
int  byteCount 
)
virtual

Get the bytes that result from encoding a character buffer.

Parameters
charsCharacters to encode.
charCountNumber of characters to convert.
bytesBuffer to put characters to.
byteCountOutput buffer size.
Returns
Number of written bytes.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ GetCharCount() [1/3]

virtual int System::Text::Encoding::GetCharCount ( const ArrayPtr< uint8_t > &  bytes,
int  index,
int  count 
)
virtual

Get the number of characters needed to decode a byte buffer.

Parameters
bytesBytes to decode.
indexSlice beginning.
countSlice size.
Returns
Number of characters.

Reimplemented in System::Text::ICUEncoding, and System::Text::UTF7Encoding.

◆ GetCharCount() [2/3]

virtual int System::Text::Encoding::GetCharCount ( const ArrayPtr< uint8_t > &  bytes)
virtual

Get the number of characters needed to decode a byte buffer.

Parameters
bytesBytes to decode.
Returns
Number of characters.

Reimplemented in System::Text::ICUEncoding.

◆ GetCharCount() [3/3]

virtual int System::Text::Encoding::GetCharCount ( const uint8_t *  bytes,
int  count 
)
virtual

Get the number of characters needed to decode a byte buffer.

Parameters
bytesBytes to decode.
countBytes count.
Returns
Number of characters.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ GetChars() [1/4]

virtual int System::Text::Encoding::GetChars ( const ArrayPtr< uint8_t > &  bytes,
int  byteIndex,
int  byteCount,
const ArrayPtr< char_t > &  chars,
int  charIndex 
)
virtual

Get the characters that result from decoding a byte buffer.

Parameters
bytesBuffer to read bytes from.
byteIndexInput buffer offset.
byteCountInput buffer size.
charsBuffer to put characters to.
charIndexOutput buffer offset.
Returns
Number of written characters.

Reimplemented in System::Text::ICUEncoding, and System::Text::UTF7Encoding.

◆ GetChars() [2/4]

virtual ArrayPtr<char_t> System::Text::Encoding::GetChars ( const ArrayPtr< uint8_t > &  bytes,
int  index,
int  count 
)
virtual

Get the characters that result from decoding a byte buffer.

Parameters
bytesBuffer to read bytes from.
indexInput buffer offset.
countInput buffer size.
Returns
Buffer of decoded characters.

Reimplemented in System::Text::ICUEncoding.

◆ GetChars() [3/4]

virtual ArrayPtr<char_t> System::Text::Encoding::GetChars ( const ArrayPtr< uint8_t > &  bytes)
virtual

Get the characters that result from decoding a byte buffer.

Parameters
bytesBuffer to read bytes from.
Returns
Buffer of decoded characters.

Reimplemented in System::Text::ICUEncoding.

◆ GetChars() [4/4]

virtual int System::Text::Encoding::GetChars ( const uint8_t *  bytes,
int  byteCount,
char_t *  chars,
int  charCount 
)
virtual

Get the characters that result from decoding a byte buffer.

Parameters
bytesBuffer to read bytes from.
byteCountInput buffer size.
charsBuffer to put characters to.
charCountOutput buffer size.
Returns
Number of written characters.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ GetDecoder()

virtual DecoderPtr System::Text::Encoding::GetDecoder ( )
virtual

Get a decoder that forwards requests to this object.

Returns
Newly created decoder.

Reimplemented in System::Text::ICUEncoding, and System::Text::UTF7Encoding.

◆ GetEncoder()

virtual EncoderPtr System::Text::Encoding::GetEncoder ( )
virtual

Get an encoder that forwards requests to this object.

Returns
Newly created encoder.

Reimplemented in System::Text::ICUEncoding, and System::Text::UTF7Encoding.

◆ GetEncoding() [1/4]

static EncodingPtr System::Text::Encoding::GetEncoding ( const String name)
static

Gets encoding by name.

Parameters
nameEncoding name.
Returns
Encoding of specified name.

◆ GetEncoding() [2/4]

static EncodingPtr System::Text::Encoding::GetEncoding ( int  codepage)
static

Gets encoding by codepage.

Parameters
codepageCodepage number.
Returns
Encoding of specified codepage.

◆ GetEncoding() [3/4]

static EncodingPtr System::Text::Encoding::GetEncoding ( int  codepage,
const EncoderFallbackPtr encoderFallback,
const DecoderFallbackPtr decoderFallback 
)
static

Gets encoding by codepage.

Parameters
codepageCodepage number.
encoderFallbackFallback to use for encoding.
decoderFallbackFallback to use for decoding.
Returns
Encoding of specified codepage.

◆ GetEncoding() [4/4]

static EncodingPtr System::Text::Encoding::GetEncoding ( const String name,
const EncoderFallbackPtr encoderFallback,
const DecoderFallbackPtr decoderFallback 
)
static

Gets encoding by name.

Parameters
nameEncoding name.
encoderFallbackFallback to use for encoding.
decoderFallbackFallback to use for decoding.
Returns
Encoding of specified name.

◆ GetEncodings()

static System::ArrayPtr<System::SharedPtr<EncodingInfo> > System::Text::Encoding::GetEncodings ( )
static

Gets list of known encodings.

Returns
Array of encoding infos.

◆ GetHashCode()

virtual int System::Text::Encoding::GetHashCode ( ) const
overridevirtual

Hashes encoding.

Returns
Hash code.

Reimplemented from System::Object.

Reimplemented in System::Text::UTF7Encoding, System::Text::UTF8Encoding, System::Text::UTF32Encoding, and System::Text::UnicodeEncoding.

◆ GetMaxByteCount()

virtual int System::Text::Encoding::GetMaxByteCount ( int  charCount)
pure virtual

Get the maximum number of bytes needed to encode a specified number of characters.

Parameters
charCountNumber of characters to encode.
Returns
Number of bytes sufficient to encode any string of given character length.

Implemented in System::Text::ICUEncoding, System::Text::UTF7Encoding, System::Text::UnicodeEncoding, and System::Text::ASCIIEncoding.

◆ GetMaxCharCount()

virtual int System::Text::Encoding::GetMaxCharCount ( int  byteCount)
pure virtual

Get the maximum number of characters needed to decode a specified number of bytes.

Parameters
byteCountNumber of bytes to decode.
Returns
Number of bytes sufficient to decode any string of given character length.

Implemented in System::Text::ICUEncoding, System::Text::UTF7Encoding, System::Text::UnicodeEncoding, and System::Text::ASCIIEncoding.

◆ GetPreamble()

virtual ArrayPtr<uint8_t> System::Text::Encoding::GetPreamble ( )
virtual

Returns a sequence of bytes that denotes the encoding (e. g. BOM).

Returns
Bytes sequence preamble.

Reimplemented in System::Text::ICUEncoding, System::Text::UTF32Encoding, System::Text::UTF8Encoding, and System::Text::UnicodeEncoding.

◆ GetString() [1/3]

virtual String System::Text::Encoding::GetString ( uint8_t *  bytes,
int  byteCount 
)
virtual

Decodes a buffer of bytes into a string.

Parameters
bytesBuffer to read bytes from.
byteCountInput buffer size.
Returns
String of decoded characters.

Reimplemented in System::Text::ICUEncoding.

◆ GetString() [2/3]

virtual String System::Text::Encoding::GetString ( const ArrayPtr< uint8_t > &  bytes)
virtual

Decodes a buffer of bytes into a string.

Parameters
bytesBuffer to read bytes from.
Returns
String of decoded characters.

Reimplemented in System::Text::ICUEncoding.

◆ GetString() [3/3]

virtual String System::Text::Encoding::GetString ( const ArrayPtr< uint8_t > &  bytes,
int  index,
int  count 
)
virtual

Decodes a buffer of bytes into a string.

Parameters
bytesBuffer to read bytes from.
indexInput buffer offset.
countInput buffer size.
Returns
String of decoded characters.

Reimplemented in System::Text::UTF7Encoding, and System::Text::ICUEncoding.

◆ set_DecoderFallback()

virtual void System::Text::Encoding::set_DecoderFallback ( const DecoderFallbackPtr  value)
virtual

Sets decoder fallback.

Parameters
valueDecoder fallback object.

◆ set_EncoderFallback()

virtual void System::Text::Encoding::set_EncoderFallback ( const EncoderFallbackPtr  value)
virtual

Sets encoder fallback.

Parameters
valueEncoder fallback object.

◆ SetDefaultFallbacks()

void System::Text::Encoding::SetDefaultFallbacks ( )
protected

Sets encoding and decoding fallbacks to default.

Member Data Documentation

◆ codePage

int System::Text::Encoding::codePage
protected

Codepage number.