⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qtextcodec.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef QTEXTCODEC_H#define QTEXTCODEC_H#include <QtCore/qstring.h>#include <QtCore/qlist.h>QT_BEGIN_HEADERQT_MODULE(Core)#ifndef QT_NO_TEXTCODECclass QTextCodec;class QIODevice;class QTextDecoder;class QTextEncoder;class Q_CORE_EXPORT QTextCodec{    Q_DISABLE_COPY(QTextCodec)public:    static QTextCodec* codecForName(const QByteArray &name);    static QTextCodec* codecForName(const char *name) { return codecForName(QByteArray(name)); }    static QTextCodec* codecForMib(int mib);    static QList<QByteArray> availableCodecs();    static QList<int> availableMibs();    static QTextCodec* codecForLocale();    static void setCodecForLocale(QTextCodec *c);    static QTextCodec* codecForTr();    static void setCodecForTr(QTextCodec *c);    static QTextCodec* codecForCStrings();    static void setCodecForCStrings(QTextCodec *c);    static QTextCodec *codecForHtml(const QByteArray &ba);    QTextDecoder* makeDecoder() const;    QTextEncoder* makeEncoder() const;    bool canEncode(QChar) const;    bool canEncode(const QString&) const;    QString toUnicode(const QByteArray&) const;    QString toUnicode(const char* chars) const;    QByteArray fromUnicode(const QString& uc) const;    enum ConversionFlag {        DefaultConversion,        ConvertInvalidToNull = 0x80000000,        IgnoreHeader = 0x1    };    Q_DECLARE_FLAGS(ConversionFlags, ConversionFlag)    struct ConverterState {        ConverterState(ConversionFlags f = DefaultConversion)            : flags(f), remainingChars(0), invalidChars(0), d(0) { state_data[0] = state_data[1] = state_data[2] = 0; }        ~ConverterState() { if (d) qFree(d); }        ConversionFlags flags;        int remainingChars;        int invalidChars;        uint state_data[3];        void *d;    private:        Q_DISABLE_COPY(ConverterState)    };    QString toUnicode(const char *in, int length, ConverterState *state = 0) const        { return convertToUnicode(in, length, state); }    QByteArray fromUnicode(const QChar *in, int length, ConverterState *state = 0) const        { return convertFromUnicode(in, length, state); }    virtual QByteArray name() const = 0;    virtual QList<QByteArray> aliases() const;    virtual int mibEnum() const = 0;protected:    virtual QString convertToUnicode(const char *in, int length, ConverterState *state) const = 0;    virtual QByteArray convertFromUnicode(const QChar *in, int length, ConverterState *state) const = 0;    QTextCodec();    virtual ~QTextCodec();public:#ifdef QT3_SUPPORT    static QT3_SUPPORT QTextCodec* codecForContent(const char*, int) { return 0; }    static QT3_SUPPORT const char* locale();    static QT3_SUPPORT QTextCodec* codecForName(const char* hint, int) { return codecForName(QByteArray(hint)); }    QT3_SUPPORT QByteArray fromUnicode(const QString& uc, int& lenInOut) const;    QT3_SUPPORT QString toUnicode(const QByteArray&, int len) const;    QT3_SUPPORT QByteArray mimeName() const { return name(); }    static QT3_SUPPORT QTextCodec *codecForIndex(int i) { return codecForName(availableCodecs().at(i)); }#endifprivate:    friend class QTextCodecCleanup;    static QTextCodec *cftr;};Q_DECLARE_OPERATORS_FOR_FLAGS(QTextCodec::ConversionFlags)inline QTextCodec* QTextCodec::codecForTr() { return cftr; }inline void QTextCodec::setCodecForTr(QTextCodec *c) { cftr = c; }inline QTextCodec* QTextCodec::codecForCStrings() { return QString::codecForCStrings; }inline void QTextCodec::setCodecForCStrings(QTextCodec *c) { QString::codecForCStrings = c; }class Q_CORE_EXPORT QTextEncoder {    Q_DISABLE_COPY(QTextEncoder)public:    explicit QTextEncoder(const QTextCodec *codec) : c(codec), state() {}    ~QTextEncoder();    QByteArray fromUnicode(const QString& str);    QByteArray fromUnicode(const QChar *uc, int len);#ifdef QT3_SUPPORT    QByteArray fromUnicode(const QString& uc, int& lenInOut);#endifprivate:    const QTextCodec *c;    QTextCodec::ConverterState state;};class Q_CORE_EXPORT QTextDecoder {    Q_DISABLE_COPY(QTextDecoder)public:    explicit QTextDecoder(const QTextCodec *codec) : c(codec), state() {}    ~QTextDecoder();    QString toUnicode(const char* chars, int len);    QString toUnicode(const QByteArray &ba);    void toUnicode(QString *target, const char *chars, int len);    bool hasFailure() const;private:    const QTextCodec *c;    QTextCodec::ConverterState state;};#endif // QT_NO_TEXTCODECQT_END_HEADER#endif // QTEXTCODEC_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -