Version: 3.2.5
wxCSConv Class Reference

#include <wx/strconv.h>

+ Inheritance diagram for wxCSConv:

Detailed Description

This class converts between any character set supported by the system and Unicode.

Please notice that this class uses system-provided conversion functions, e.g. MultiByteToWideChar() and WideCharToMultiByte() under MSW and iconv(3) under Unix systems and as such may support different encodings and different encoding names on different platforms (although all relatively common encodings are supported should be supported everywhere).

It has one predefined instance, wxConvLocal, for the default user character set.

Library:  wxBase
Category:  Text Conversion
See also
wxMBConv, wxEncodingConverter, wxMBConv Overview

Public Member Functions

 wxCSConv (const wxString &charset)
 Constructor. More...
 
 wxCSConv (wxFontEncoding encoding)
 Constructor. More...
 
bool IsOk () const
 Returns true if the charset (or the encoding) given at constructor is really available to use. More...
 
- Public Member Functions inherited from wxMBConv
 wxMBConv ()
 Trivial default constructor. More...
 
virtual wxMBConvClone () const =0
 This pure virtual function is overridden in each of the derived classes to return a new copy of the object it is called on. More...
 
virtual size_t GetMaxCharLen () const
 This function must be overridden in the derived classes to return the maximum length, in bytes, of a single Unicode character representation in this encoding. More...
 
virtual size_t GetMBNulLen () const
 This function returns 1 for most of the multibyte encodings in which the string is terminated by a single NUL, 2 for UTF-16 and 4 for UTF-32 for which the string is terminated with 2 and 4 NUL characters respectively. More...
 
virtual bool IsUTF8 () const
 Return true if the converter's charset is UTF-8. More...
 
virtual size_t ToWChar (wchar_t *dst, size_t dstLen, const char *src, size_t srcLen=wxNO_LEN) const
 Convert multibyte string to a wide character one. More...
 
virtual size_t FromWChar (char *dst, size_t dstLen, const wchar_t *src, size_t srcLen=wxNO_LEN) const
 Converts wide character string to multibyte. More...
 
wxWCharBuffer cMB2WC (const char *in, size_t inLen, size_t *outLen) const
 Converts from multibyte encoding to Unicode by calling ToWChar() and allocating a temporary wxWCharBuffer to hold the result. More...
 
wxWCharBuffer cMB2WC (const wxCharBuffer &buf) const
 Converts a char buffer to wide char one. More...
 
wxCharBuffer cWC2MB (const wchar_t *in, size_t inLen, size_t *outLen) const
 Converts from Unicode to multibyte encoding by calling FromWChar() and allocating a temporary wxCharBuffer to hold the result. More...
 
wxCharBuffer cWC2MB (const wxWCharBuffer &buf) const
 Converts a wide char buffer to char one. More...
 
virtual size_t MB2WC (wchar_t *out, const char *in, size_t outLen) const
 
virtual size_t WC2MB (char *buf, const wchar_t *psz, size_t n) const
 
const char * cMB2WX (const char *psz) const
 Converts from multibyte encoding to the current wxChar type (which depends on whether wxUSE_UNICODE is set to 1). More...
 
wxWCharBuffer cMB2WX (const char *psz) const
 Converts from multibyte encoding to the current wxChar type (which depends on whether wxUSE_UNICODE is set to 1). More...
 
const wchar_t * cWC2WX (const wchar_t *psz) const
 Converts from Unicode to the current wxChar type. More...
 
wxCharBuffer cWC2WX (const wchar_t *psz) const
 Converts from Unicode to the current wxChar type. More...
 
const char * cWX2MB (const wxChar *psz) const
 Converts from the current wxChar type to multibyte encoding. More...
 
wxCharBuffer cWX2MB (const wxChar *psz) const
 Converts from the current wxChar type to multibyte encoding. More...
 
const wchar_t * cWX2WC (const wxChar *psz) const
 Converts from the current wxChar type to Unicode. More...
 
wxWCharBuffer cWX2WC (const wxChar *psz) const
 Converts from the current wxChar type to Unicode. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from wxMBConv
static size_t GetMaxMBNulLen ()
 Returns the maximal value which can be returned by GetMBNulLen() for any conversion object. More...
 

Constructor & Destructor Documentation

◆ wxCSConv() [1/2]

wxCSConv::wxCSConv ( const wxString charset)

Constructor.

You can specify the name of the character set you want to convert from/to. If the character set name is not recognized, ISO 8859-1 is used as fall back, use IsOk() to test for this.

Parameters
charsetThe name of the encoding, shouldn't be empty.

◆ wxCSConv() [2/2]

wxCSConv::wxCSConv ( wxFontEncoding  encoding)

Constructor.

You can specify an encoding constant for the character set you want to convert from/to. Use IsOk() after construction to check whether the encoding is supported by the current system.

Parameters
encodingAny valid (i.e. not wxFONTENCODING_MAX) font encoding.

Member Function Documentation

◆ IsOk()

bool wxCSConv::IsOk ( ) const

Returns true if the charset (or the encoding) given at constructor is really available to use.

Returns false if ISO 8859-1 will be used instead.

Note this does not mean that a given string will be correctly converted. A malformed string may still make conversion functions return wxCONV_FAILED.

Since
2.8.2