KEncodingProber
#include <KEncodingProber>
Public Types | |
enum | ProberState { FoundIt, NotMe, Probing } |
enum | ProberType { None, Universal, Arabic, Baltic, CentralEuropean, ChineseSimplified, ChineseTraditional, Cyrillic, Greek, Hebrew, Japanese, Korean, NorthernSaami, Other, SouthEasternEurope, Thai, Turkish, Unicode, WesternEuropean } |
Public Member Functions | |
KEncodingProber (const KEncodingProber &)=delete | |
KEncodingProber (ProberType proberType=Universal) | |
float | confidence () const |
QByteArray | encoding () const |
ProberState | feed (const char *data, int len) |
ProberState | feed (const QByteArray &data) |
KEncodingProber & | operator= (const KEncodingProber &)=delete |
ProberType | proberType () const |
void | reset () |
void | setProberType (ProberType proberType) |
ProberState | state () const |
Static Public Member Functions | |
static QString | nameForProberType (ProberType proberType) |
static ProberType | proberTypeForName (const QString &lang) |
Detailed Description
Provides encoding detection(probe) capabilities.
Probe the encoding of raw data only. In the case it can't find it, return the most possible encoding it guessed.
Always do Unicode probe regardless the ProberType
Feed data to it several times with feed() until ProberState changes to FoundIt/NotMe, or confidence() returns a value you find acceptable.
Intended lifetime of the object: one instance per ProberType.
Typical use:
At least 256 characters are needed to change the ProberState from Probing to FoundIt. If you don't have so many characters to probe, decide whether to accept the encoding it guessed so far according to the Confidence by yourself.
Guess encoding of char array
Definition at line 59 of file kencodingprober.h.
Member Enumeration Documentation
◆ ProberState
Enumerator | |
---|---|
FoundIt | Sure find the encoding. |
NotMe | Sure not included in current ProberType's all supported encodings |
Probing | Need more data to make a decision. |
Definition at line 64 of file kencodingprober.h.
Constructor & Destructor Documentation
◆ KEncodingProber()
KEncodingProber::KEncodingProber | ( | KEncodingProber::ProberType | proberType = Universal | ) |
Default ProberType is Universal(detect all possible encodings)
Definition at line 138 of file kencodingprober.cpp.
Member Function Documentation
◆ confidence()
float KEncodingProber::confidence | ( | ) | const |
- Returns
- the confidence(sureness) of encoding it guessed so far (0.0 ~ 0.99), not very reliable for single byte encodings
Definition at line 202 of file kencodingprober.cpp.
◆ encoding()
QByteArray KEncodingProber::encoding | ( | ) | const |
- Returns
- a QByteArray with the name of the best encoding it has guessed so far
- Since
- 4.2.2
Definition at line 193 of file kencodingprober.cpp.
◆ feed()
KEncodingProber::ProberState KEncodingProber::feed | ( | const QByteArray & | data | ) |
The main class method.
feed data to the prober
- Returns
- the ProberState after probing the fed data.
Definition at line 152 of file kencodingprober.cpp.
◆ nameForProberType()
|
static |
map ProberType to language string
Definition at line 263 of file kencodingprober.cpp.
◆ proberTypeForName()
|
static |
- Returns
- the ProberType for lang (eg. proberTypeForName("Chinese Simplified") will return KEncodingProber::ChineseSimplified
Definition at line 222 of file kencodingprober.cpp.
◆ reset()
void KEncodingProber::reset | ( | ) |
reset the prober's internal state and data.
Definition at line 146 of file kencodingprober.cpp.
◆ setProberType()
void KEncodingProber::setProberType | ( | KEncodingProber::ProberType | proberType | ) |
change current prober's ProberType and reset the prober
Definition at line 216 of file kencodingprober.cpp.
◆ state()
KEncodingProber::ProberState KEncodingProber::state | ( | ) | const |
- Returns
- the prober's current ProberState
Definition at line 188 of file kencodingprober.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sun Dec 3 2023 04:10:34 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.