Public Member Functions | List of all members
QUtf16Codec Class Reference

#include <qutfcodec.h>

Inheritance diagram for QUtf16Codec:
QTextCodec

Public Member Functions

virtual int mibEnum () const
 
const char * name () const
 
QTextDecodermakeDecoder () const
 
QTextEncodermakeEncoder () const
 
int heuristicContentMatch (const char *chars, int len) const
 
- Public Member Functions inherited from QTextCodec
virtual ~QTextCodec ()
 
virtual QString toUnicode (const char *chars, int len) const
 
virtual QCString fromUnicode (const QString &uc, int &lenInOut) const
 
QCString fromUnicode (const QString &uc) const
 
QString toUnicode (const QByteArray &, int len) const
 
QString toUnicode (const QByteArray &) const
 
QString toUnicode (const char *chars) const
 
virtual bool canEncode (QChar) const
 
virtual bool canEncode (const QString &) const
 
virtual int heuristicNameMatch (const char *hint) const
 

Additional Inherited Members

- Static Public Member Functions inherited from QTextCodec
static QTextCodecloadCharmap (QIODevice *)
 
static QTextCodecloadCharmapFile (QString filename)
 
static QTextCodeccodecForMib (int mib)
 
static QTextCodeccodecForName (const char *hint, int accuracy=0)
 
static QTextCodeccodecForContent (const char *chars, int len)
 
static QTextCodeccodecForIndex (int i)
 
static QTextCodeccodecForLocale ()
 
static void deleteAllCodecs ()
 
static const char * locale ()
 
- Protected Member Functions inherited from QTextCodec
 QTextCodec ()
 
- Static Protected Member Functions inherited from QTextCodec
static int simpleHeuristicNameMatch (const char *name, const char *hint)
 

Detailed Description

Definition at line 59 of file qutfcodec.h.

Member Function Documentation

int QUtf16Codec::heuristicContentMatch ( const char *  chars,
int  len 
) const
virtual

Subclasses of QTextCodec must reimplement this function. It examines the first len bytes of chars and returns a value indicating how likely it is that the string is a prefix of text encoded in the encoding of the subclass. Any negative return value indicates that the text is detectably not in the encoding (eg. it contains undefined characters). A return value of 0 indicates that the text should be decoded with this codec rather than as ASCII, but there is no particular evidence. The value should range up to len. Thus, most decoders will return -1, 0, or -len.

The characters are not null terminated.

See also
codecForContent().

Implements QTextCodec.

Definition at line 181 of file qutfcodec.cpp.

182 {
183  uchar* uchars = (uchar*)chars;
184  if ( len >= 2 && ((uchars[0] == 0xff && uchars[1] == 0xfe) ||
185  (uchars[1] == 0xff && uchars[0] == 0xfe)) )
186  return len;
187  else
188  return 0;
189 }
unsigned char uchar
Definition: nybbler.cc:11
QTextDecoder * QUtf16Codec::makeDecoder ( ) const
virtual

Creates a QTextDecoder which stores enough state to decode chunks of char* data to create chunks of Unicode data. The default implementation creates a stateless decoder, which is sufficient for only the simplest encodings where each byte corresponds to exactly one Unicode character.

The caller is responsible for deleting the returned object.

Reimplemented from QTextCodec.

Definition at line 266 of file qutfcodec.cpp.

267 {
268  return new QUtf16Decoder;
269 }
QTextEncoder * QUtf16Codec::makeEncoder ( ) const
virtual

Creates a QTextEncoder which stores enough state to encode chunks of Unicode data as char* data. The default implementation creates a stateless encoder, which is sufficient for only the simplest encodings where each Unicode character corresponds to exactly one char.

The caller is responsible for deleting the returned object.

Reimplemented from QTextCodec.

Definition at line 271 of file qutfcodec.cpp.

272 {
273  return new QUtf16Encoder;
274 }
int QUtf16Codec::mibEnum ( ) const
virtual

Subclasses of QTextCodec must reimplement this function. It returns the MIBenum (see the IANA character-sets encoding file for more information). It is important that each QTextCodec subclass return the correct unique value for this function.

Implements QTextCodec.

Definition at line 171 of file qutfcodec.cpp.

172 {
173  return 1000;
174 }
const char * QUtf16Codec::name ( ) const
virtual

Subclasses of QTextCodec must reimplement this function. It returns the name of the encoding supported by the subclass. When choosing a name for an encoding, consider these points:

  • On X11, heuristicNameMatch( const char * hint ) is used to test if a the QTextCodec can convert between Unicode and the encoding of a font with encoding hint, such as "iso8859-1" for Latin-1 fonts, "koi8-r" for Russian KOI8 fonts. The default algorithm of heuristicNameMatch() uses name().
  • Some applications may use this function to present encodings to the end user.

Implements QTextCodec.

Definition at line 176 of file qutfcodec.cpp.

177 {
178  return "ISO-10646-UCS-2";
179 }

The documentation for this class was generated from the following files: