OXIESEC PANEL
- Current Dir:
/
/
usr
/
include
/
unicode
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/28/2024 06:50:42 AM
rwxr-xr-x
📄
alphaindex.h
26.27 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
appendable.h
8.43 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
basictz.h
8.84 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
brkiter.h
27.54 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
bytestream.h
9.59 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
bytestrie.h
19.26 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
bytestriebuilder.h
7.1 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
calendar.h
105.35 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
caniter.h
7.35 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
casemap.h
25.31 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
char16ptr.h
7.29 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
chariter.h
24 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
choicfmt.h
23.85 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
coleitr.h
13.7 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
coll.h
55.61 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
compactdecimalformat.h
16.58 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
curramt.h
3.69 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
currpinf.h
7.08 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
currunit.h
3.49 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
datefmt.h
40.18 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
dbbi.h
1.11 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
dcfmtsym.h
17.66 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
decimfmt.h
89.73 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
docmain.h
6.56 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
dtfmtsym.h
37.64 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
dtintrv.h
3.76 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
dtitvfmt.h
42.87 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
dtitvinf.h
18.46 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
dtptngen.h
23.72 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
dtrule.h
8.62 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
edits.h
15.54 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
enumset.h
2.05 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
errorcode.h
4.78 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
fieldpos.h
8.63 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
filteredbrk.h
5.46 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
fmtable.h
24.39 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
format.h
12.44 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
fpositer.h
3.14 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
gender.h
3.18 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
gregocal.h
31.57 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
icudataver.h
1.03 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
icuplug.h
11.86 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
idna.h
12.63 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
listformatter.h
4.98 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
localpointer.h
18.19 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
locdspnm.h
7.05 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
locid.h
31.4 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
measfmt.h
11.25 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
measunit.h
37.74 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
measure.h
4.26 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
messagepattern.h
33.64 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
msgfmt.h
43.16 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
normalizer2.h
33.97 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
normlzr.h
30.74 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
nounit.h
2.6 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
numberformatter.h
64.98 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
numfmt.h
47.76 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
numsys.h
6.73 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
parseerr.h
3.08 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
parsepos.h
5.45 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
platform.h
27.71 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
plurfmt.h
25.66 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
plurrule.h
18.34 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ptypes.h
3.47 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
putil.h
6.34 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
rbbi.h
27.09 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
rbnf.h
49.76 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
rbtz.h
15.47 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
regex.h
84.91 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
region.h
9.12 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
reldatefmt.h
14.3 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
rep.h
9.5 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
resbund.h
18.01 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
schriter.h
6.26 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
scientificnumberformatter.h
6.59 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
search.h
22.21 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
selfmt.h
14.24 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
simpleformatter.h
11.43 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
simpletz.h
45.24 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
smpdtfmt.h
70.09 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
sortkey.h
11.12 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
std_string.h
1015 bytes
10/19/2021 07:44:28 PM
rw-r--r--
📄
strenum.h
10.04 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
stringoptions.h
5.89 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
stringpiece.h
6.46 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
stringtriebuilder.h
15.2 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
stsearch.h
21.29 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
symtable.h
4.21 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
tblcoll.h
36.4 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
timezone.h
40.83 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
tmunit.h
3.29 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
tmutamt.h
4.8 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
tmutfmt.h
7.79 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
translit.h
54.53 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
tzfmt.h
42.81 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
tznames.h
16.79 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
tzrule.h
35.32 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
tztrans.h
6.07 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ubidi.h
89.28 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ubiditransform.h
12.71 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ubrk.h
24.08 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucal.h
54.56 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucasemap.h
15.18 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucat.h
5.36 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uchar.h
131.61 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucharstrie.h
21.06 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucharstriebuilder.h
7.14 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uchriter.h
13.14 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uclean.h
11.24 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucnv.h
83.06 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucnv_cb.h
6.59 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucnv_err.h
20.98 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucnvsel.h
6.14 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucol.h
61.36 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucoleitr.h
9.46 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uconfig.h
11.91 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucsdet.h
14.67 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ucurr.h
15.15 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
udat.h
60.13 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
udata.h
15.53 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
udateintervalformat.h
6.79 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
udatpg.h
24.11 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
udisplaycontext.h
5.89 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uenum.h
7.9 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ufieldpositer.h
4.36 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uformattable.h
10.94 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ugender.h
2 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uidna.h
33.37 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uiter.h
22.77 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uldnames.h
10.45 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ulistformatter.h
4.54 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uloc.h
50.75 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ulocdata.h
11.26 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
umachine.h
13.1 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
umisc.h
1.33 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
umsg.h
24.23 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
unifilt.h
3.63 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
unifunct.h
3.98 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
unimatch.h
6.04 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
unirepl.h
3.32 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uniset.h
63.98 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
unistr.h
175.65 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
unorm.h
20.45 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
unorm2.h
24.66 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
unum.h
52.49 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
unumsys.h
7.14 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uobject.h
10.72 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
upluralrules.h
6.77 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uregex.h
72.05 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uregion.h
9.84 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ureldatefmt.h
12.22 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
urename.h
124.49 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
urep.h
5.38 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ures.h
36.52 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uscript.h
25.91 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
usearch.h
38.14 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uset.h
39.91 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
usetiter.h
9.49 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ushape.h
18 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uspoof.h
64.9 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
usprep.h
8.13 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ustdio.h
38.54 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ustream.h
1.8 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ustring.h
72.52 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
ustringtrie.h
3.15 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
utext.h
58.11 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
utf.h
7.86 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
utf16.h
22.49 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
utf32.h
763 bytes
10/19/2021 07:44:28 PM
rw-r--r--
📄
utf8.h
28.16 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
utf_old.h
43.78 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
utmscale.h
13.78 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
utrace.h
13.89 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
utrans.h
25.53 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
utypes.h
29.92 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uvernum.h
5.69 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
uversion.h
6.4 KB
10/19/2021 07:44:28 PM
rw-r--r--
📄
vtzone.h
20.17 KB
10/19/2021 07:44:28 PM
rw-r--r--
Editing: ucsdet.h
Close
// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ********************************************************************** * Copyright (C) 2005-2013, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** * file name: ucsdet.h * encoding: UTF-8 * indentation:4 * * created on: 2005Aug04 * created by: Andy Heninger * * ICU Character Set Detection, API for C * * Draft version 18 Oct 2005 * */ #ifndef __UCSDET_H #define __UCSDET_H #include "unicode/utypes.h" #if !UCONFIG_NO_CONVERSION #include "unicode/localpointer.h" #include "unicode/uenum.h" /** * \file * \brief C API: Charset Detection API * * This API provides a facility for detecting the * charset or encoding of character data in an unknown text format. * The input data can be from an array of bytes. * <p> * Character set detection is at best an imprecise operation. The detection * process will attempt to identify the charset that best matches the characteristics * of the byte data, but the process is partly statistical in nature, and * the results can not be guaranteed to always be correct. * <p> * For best accuracy in charset detection, the input data should be primarily * in a single language, and a minimum of a few hundred bytes worth of plain text * in the language are needed. The detection process will attempt to * ignore html or xml style markup that could otherwise obscure the content. * <p> * An alternative to the ICU Charset Detector is the * Compact Encoding Detector, https://github.com/google/compact_enc_det. * It often gives more accurate results, especially with short input samples. */ struct UCharsetDetector; /** * Structure representing a charset detector * @stable ICU 3.6 */ typedef struct UCharsetDetector UCharsetDetector; struct UCharsetMatch; /** * Opaque structure representing a match that was identified * from a charset detection operation. * @stable ICU 3.6 */ typedef struct UCharsetMatch UCharsetMatch; /** * Open a charset detector. * * @param status Any error conditions occurring during the open * operation are reported back in this variable. * @return the newly opened charset detector. * @stable ICU 3.6 */ U_STABLE UCharsetDetector * U_EXPORT2 ucsdet_open(UErrorCode *status); /** * Close a charset detector. All storage and any other resources * owned by this charset detector will be released. Failure to * close a charset detector when finished with it can result in * memory leaks in the application. * * @param ucsd The charset detector to be closed. * @stable ICU 3.6 */ U_STABLE void U_EXPORT2 ucsdet_close(UCharsetDetector *ucsd); #if U_SHOW_CPLUSPLUS_API U_NAMESPACE_BEGIN /** * \class LocalUCharsetDetectorPointer * "Smart pointer" class, closes a UCharsetDetector via ucsdet_close(). * For most methods see the LocalPointerBase base class. * * @see LocalPointerBase * @see LocalPointer * @stable ICU 4.4 */ U_DEFINE_LOCAL_OPEN_POINTER(LocalUCharsetDetectorPointer, UCharsetDetector, ucsdet_close); U_NAMESPACE_END #endif /** * Set the input byte data whose charset is to detected. * * Ownership of the input text byte array remains with the caller. * The input string must not be altered or deleted until the charset * detector is either closed or reset to refer to different input text. * * @param ucsd the charset detector to be used. * @param textIn the input text of unknown encoding. . * @param len the length of the input text, or -1 if the text * is NUL terminated. * @param status any error conditions are reported back in this variable. * * @stable ICU 3.6 */ U_STABLE void U_EXPORT2 ucsdet_setText(UCharsetDetector *ucsd, const char *textIn, int32_t len, UErrorCode *status); /** Set the declared encoding for charset detection. * The declared encoding of an input text is an encoding obtained * by the user from an http header or xml declaration or similar source that * can be provided as an additional hint to the charset detector. * * How and whether the declared encoding will be used during the * detection process is TBD. * * @param ucsd the charset detector to be used. * @param encoding an encoding for the current data obtained from * a header or declaration or other source outside * of the byte data itself. * @param length the length of the encoding name, or -1 if the name string * is NUL terminated. * @param status any error conditions are reported back in this variable. * * @stable ICU 3.6 */ U_STABLE void U_EXPORT2 ucsdet_setDeclaredEncoding(UCharsetDetector *ucsd, const char *encoding, int32_t length, UErrorCode *status); /** * Return the charset that best matches the supplied input data. * * Note though, that because the detection * only looks at the start of the input data, * there is a possibility that the returned charset will fail to handle * the full set of input data. * <p> * The returned UCharsetMatch object is owned by the UCharsetDetector. * It will remain valid until the detector input is reset, or until * the detector is closed. * <p> * The function will fail if * <ul> * <li>no charset appears to match the data.</li> * <li>no input text has been provided</li> * </ul> * * @param ucsd the charset detector to be used. * @param status any error conditions are reported back in this variable. * @return a UCharsetMatch representing the best matching charset, * or NULL if no charset matches the byte data. * * @stable ICU 3.6 */ U_STABLE const UCharsetMatch * U_EXPORT2 ucsdet_detect(UCharsetDetector *ucsd, UErrorCode *status); /** * Find all charset matches that appear to be consistent with the input, * returning an array of results. The results are ordered with the * best quality match first. * * Because the detection only looks at a limited amount of the * input byte data, some of the returned charsets may fail to handle * the all of input data. * <p> * The returned UCharsetMatch objects are owned by the UCharsetDetector. * They will remain valid until the detector is closed or modified * * <p> * Return an error if * <ul> * <li>no charsets appear to match the input data.</li> * <li>no input text has been provided</li> * </ul> * * @param ucsd the charset detector to be used. * @param matchesFound pointer to a variable that will be set to the * number of charsets identified that are consistent with * the input data. Output only. * @param status any error conditions are reported back in this variable. * @return A pointer to an array of pointers to UCharSetMatch objects. * This array, and the UCharSetMatch instances to which it refers, * are owned by the UCharsetDetector, and will remain valid until * the detector is closed or modified. * @stable ICU 3.6 */ U_STABLE const UCharsetMatch ** U_EXPORT2 ucsdet_detectAll(UCharsetDetector *ucsd, int32_t *matchesFound, UErrorCode *status); /** * Get the name of the charset represented by a UCharsetMatch. * * The storage for the returned name string is owned by the * UCharsetMatch, and will remain valid while the UCharsetMatch * is valid. * * The name returned is suitable for use with the ICU conversion APIs. * * @param ucsm The charset match object. * @param status Any error conditions are reported back in this variable. * @return The name of the matching charset. * * @stable ICU 3.6 */ U_STABLE const char * U_EXPORT2 ucsdet_getName(const UCharsetMatch *ucsm, UErrorCode *status); /** * Get a confidence number for the quality of the match of the byte * data with the charset. Confidence numbers range from zero to 100, * with 100 representing complete confidence and zero representing * no confidence. * * The confidence values are somewhat arbitrary. They define an * an ordering within the results for any single detection operation * but are not generally comparable between the results for different input. * * A confidence value of ten does have a general meaning - it is used * for charsets that can represent the input data, but for which there * is no other indication that suggests that the charset is the correct one. * Pure 7 bit ASCII data, for example, is compatible with a * great many charsets, most of which will appear as possible matches * with a confidence of 10. * * @param ucsm The charset match object. * @param status Any error conditions are reported back in this variable. * @return A confidence number for the charset match. * * @stable ICU 3.6 */ U_STABLE int32_t U_EXPORT2 ucsdet_getConfidence(const UCharsetMatch *ucsm, UErrorCode *status); /** * Get the RFC 3066 code for the language of the input data. * * The Charset Detection service is intended primarily for detecting * charsets, not language. For some, but not all, charsets, a language is * identified as a byproduct of the detection process, and that is what * is returned by this function. * * CAUTION: * 1. Language information is not available for input data encoded in * all charsets. In particular, no language is identified * for UTF-8 input data. * * 2. Closely related languages may sometimes be confused. * * If more accurate language detection is required, a linguistic * analysis package should be used. * * The storage for the returned name string is owned by the * UCharsetMatch, and will remain valid while the UCharsetMatch * is valid. * * @param ucsm The charset match object. * @param status Any error conditions are reported back in this variable. * @return The RFC 3066 code for the language of the input data, or * an empty string if the language could not be determined. * * @stable ICU 3.6 */ U_STABLE const char * U_EXPORT2 ucsdet_getLanguage(const UCharsetMatch *ucsm, UErrorCode *status); /** * Get the entire input text as a UChar string, placing it into * a caller-supplied buffer. A terminating * NUL character will be appended to the buffer if space is available. * * The number of UChars in the output string, not including the terminating * NUL, is returned. * * If the supplied buffer is smaller than required to hold the output, * the contents of the buffer are undefined. The full output string length * (in UChars) is returned as always, and can be used to allocate a buffer * of the correct size. * * * @param ucsm The charset match object. * @param buf A UChar buffer to be filled with the converted text data. * @param cap The capacity of the buffer in UChars. * @param status Any error conditions are reported back in this variable. * @return The number of UChars in the output string. * * @stable ICU 3.6 */ U_STABLE int32_t U_EXPORT2 ucsdet_getUChars(const UCharsetMatch *ucsm, UChar *buf, int32_t cap, UErrorCode *status); /** * Get an iterator over the set of all detectable charsets - * over the charsets that are known to the charset detection * service. * * The returned UEnumeration provides access to the names of * the charsets. * * <p> * The state of the Charset detector that is passed in does not * affect the result of this function, but requiring a valid, open * charset detector as a parameter insures that the charset detection * service has been safely initialized and that the required detection * data is available. * * <p> * <b>Note:</b> Multiple different charset encodings in a same family may use * a single shared name in this implementation. For example, this method returns * an array including "ISO-8859-1" (ISO Latin 1), but not including "windows-1252" * (Windows Latin 1). However, actual detection result could be "windows-1252" * when the input data matches Latin 1 code points with any points only available * in "windows-1252". * * @param ucsd a Charset detector. * @param status Any error conditions are reported back in this variable. * @return an iterator providing access to the detectable charset names. * @stable ICU 3.6 */ U_STABLE UEnumeration * U_EXPORT2 ucsdet_getAllDetectableCharsets(const UCharsetDetector *ucsd, UErrorCode *status); /** * Test whether input filtering is enabled for this charset detector. * Input filtering removes text that appears to be HTML or xml * markup from the input before applying the code page detection * heuristics. * * @param ucsd The charset detector to check. * @return TRUE if filtering is enabled. * @stable ICU 3.6 */ U_STABLE UBool U_EXPORT2 ucsdet_isInputFilterEnabled(const UCharsetDetector *ucsd); /** * Enable filtering of input text. If filtering is enabled, * text within angle brackets ("<" and ">") will be removed * before detection, which will remove most HTML or xml markup. * * @param ucsd the charset detector to be modified. * @param filter <code>true</code> to enable input text filtering. * @return The previous setting. * * @stable ICU 3.6 */ U_STABLE UBool U_EXPORT2 ucsdet_enableInputFilter(UCharsetDetector *ucsd, UBool filter); #ifndef U_HIDE_INTERNAL_API /** * Get an iterator over the set of detectable charsets - * over the charsets that are enabled by the specified charset detector. * * The returned UEnumeration provides access to the names of * the charsets. * * @param ucsd a Charset detector. * @param status Any error conditions are reported back in this variable. * @return an iterator providing access to the detectable charset names by * the specified charset detector. * @internal */ U_INTERNAL UEnumeration * U_EXPORT2 ucsdet_getDetectableCharsets(const UCharsetDetector *ucsd, UErrorCode *status); /** * Enable or disable individual charset encoding. * A name of charset encoding must be included in the names returned by * {@link #ucsdet_getAllDetectableCharsets()}. * * @param ucsd a Charset detector. * @param encoding encoding the name of charset encoding. * @param enabled <code>TRUE</code> to enable, or <code>FALSE</code> to disable the * charset encoding. * @param status receives the return status. When the name of charset encoding * is not supported, U_ILLEGAL_ARGUMENT_ERROR is set. * @internal */ U_INTERNAL void U_EXPORT2 ucsdet_setDetectableCharset(UCharsetDetector *ucsd, const char *encoding, UBool enabled, UErrorCode *status); #endif /* U_HIDE_INTERNAL_API */ #endif #endif /* __UCSDET_H */