37 class KEncodingProberPrivate
40 KEncodingProberPrivate(): prober(NULL), mStart(true) {};
41 ~KEncodingProberPrivate()
94 void unicodeTest(
const char *aBuf,
int aLen)
103 if ((
'\xBB' == aBuf[1]) && (
'\xBF' == aBuf[2]))
108 if ((
'\xFF' == aBuf[1]) && (
'\x00' == aBuf[2]) && (
'\x00' == aBuf[3]))
111 else if (
'\xFF' == aBuf[1])
116 if ((
'\x00' == aBuf[1]) && (
'\xFE' == aBuf[2]) && (
'\xFF' == aBuf[3]))
119 else if ((
'\x00' == aBuf[1]) && (
'\xFF' == aBuf[2]) && (
'\xFE' == aBuf[3]))
124 if ((
'\xFE' == aBuf[1]) && (
'\x00' == aBuf[2]) && (
'\x00' == aBuf[3]))
127 else if (
'\xFE' == aBuf[1])
159 return feed(data.data(), data.size());
165 return d->proberState;
166 if (d->proberState ==
Probing) {
168 d->unicodeTest(data, len);
170 return d->proberState;
172 d->prober->HandleData(data, len);
173 switch (d->prober->GetState())
176 d->proberState =
NotMe;
187 d->prober->DumpStatus();
189 return d->proberState;
194 return d->proberState;
198 #ifndef KDE_NO_DEPRECATED 201 return qstrdup(
encoding().constData());
208 return QByteArray(
"UTF-8");
210 return QByteArray(d->prober->GetCharSetName());
218 return d->prober->GetConfidence();
223 return d->proberType;
228 d->setProberType(proberType);
236 else if (lang==
i18nc(
"@item Text character set",
"Disabled"))
238 else if (lang==
i18nc(
"@item Text character set",
"Universal"))
240 else if (lang==
i18nc(
"@item Text character set",
"Unicode"))
242 else if (lang==
i18nc(
"@item Text character set",
"Cyrillic"))
244 else if (lang==
i18nc(
"@item Text character set",
"Western European"))
246 else if (lang==
i18nc(
"@item Text character set",
"Central European"))
248 else if (lang==
i18nc(
"@item Text character set",
"Greek"))
250 else if (lang==
i18nc(
"@item Text character set",
"Hebrew"))
252 else if (lang==
i18nc(
"@item Text character set",
"Turkish"))
254 else if (lang==
i18nc(
"@item Text character set",
"Japanese"))
256 else if (lang==
i18nc(
"@item Text character set",
"Baltic"))
258 else if (lang==
i18nc(
"@item Text character set",
"Chinese Traditional"))
260 else if (lang==
i18nc(
"@item Text character set",
"Chinese Simplified"))
262 else if (lang==
i18nc(
"@item Text character set",
"Arabic"))
273 return i18nc(
"@item Text character set",
"Disabled");
276 return i18nc(
"@item Text character set",
"Universal");
279 return i18nc(
"@item Text character set",
"Arabic");
282 return i18nc(
"@item Text character set",
"Baltic");
285 return i18nc(
"@item Text character set",
"Central European");
288 return i18nc(
"@item Text character set",
"Cyrillic");
291 return i18nc(
"@item Text character set",
"Greek");
294 return i18nc(
"@item Text character set",
"Hebrew");
297 return i18nc(
"@item Text character set",
"Japanese");
300 return i18nc(
"@item Text character set",
"Turkish");
303 return i18nc(
"@item Text character set",
"Western European");
306 return i18nc(
"@item Text character set",
"Chinese Traditional");
309 return i18nc(
"@item Text character set",
"Chinese Simplified");
312 return i18nc(
"@item Text character set",
"Korean");
315 return i18nc(
"@item Text character set",
"Thai");
318 return i18nc(
"@item Text character set",
"Unicode");
ProberState state() const
ProberType proberType() const
Sure not included in current ProberType's all supported encodings.
ProberState feed(const QByteArray &data)
The main class method.
void setProberType(ProberType proberType)
change current prober's ProberType and reset the prober
QString i18nc(const char *ctxt, const char *text)
Returns a localized version of a string and a context.
KEncodingProber(ProberType proberType=Universal)
Default ProberType is Universal(detect all possibe encodings)
static ProberType proberTypeForName(const QString &lang)
QByteArray encoding() const
static QString nameForProberType(ProberType proberType)
map ProberType to language string
void reset()
reset the prober's internal state and data.
Need more data to make a decision.
const char * encodingName() const