KDECore
Go to the documentation of this file.
37class 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;
176 d->proberState =
NotMe;
187 d->prober->DumpStatus();
189 return d->proberState;
194 return d->proberState;
198#ifndef KDE_NO_DEPRECATED
208 return QByteArray(
"UTF-8");
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");
void reset()
reset the prober's internal state and data.
ProberType proberType() const
KEncodingProber(ProberType proberType=Universal)
Default ProberType is Universal(detect all possibe encodings)
const char * encodingName() const
ProberState feed(const QByteArray &data)
The main class method.
static QString nameForProberType(ProberType proberType)
map ProberType to language string
ProberState state() const
void setProberType(ProberType proberType)
change current prober's ProberType and reset the prober
static ProberType proberTypeForName(const QString &lang)
QByteArray encoding() const
@ Probing
Need more data to make a decision.
@ NotMe
Sure not included in current ProberType's all supported encodings
@ FoundIt
Sure find the encoding.
virtual nsProbingState HandleData(const char *aBuf, unsigned int aLen)=0
virtual float GetConfidence(void)=0
virtual const char * GetCharSetName()=0
virtual nsProbingState GetState(void)=0
QString i18nc(const char *ctxt, const char *text)
Returns a localized version of a string and a context.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Wed Jan 24 2024 00:00:00 by
doxygen 1.10.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.