com.ibm.icu.text
public class CharsetDetector extends Object
CharsetDetector
provides a facility for detecting the
charset or encoding of character data in an unknown format.
The input data can either be from an input stream or an array of bytes.
The result of the detection operation is a list of possibly matching
charsets, or, for simple use, you can just ask for a Java Reader that
will will work over the input data.
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.
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.
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
Constructor Summary | |
---|---|
CharsetDetector()
Constructor
|
Method Summary | |
---|---|
CharsetMatch | detect()
Return the charset that best matches the supplied input data.
|
CharsetMatch[] | detectAll()
Return an array of all charsets that appear to be plausible
matches with the input data. |
boolean | enableInputFilter(boolean filter)
Enable filtering of input text. |
static String[] | getAllDetectableCharsets()
Get the names of all char sets that can be recognized by the char set detector.
|
Reader | getReader(InputStream in, String declaredEncoding)
Autodetect the charset of an inputStream, and return a Java Reader
to access the converted input data.
|
String | getString(byte[] in, String declaredEncoding)
Autodetect the charset of an inputStream, and return a String
containing the converted input data.
|
boolean | inputFilterEnabled()
Test whether or not input filtering is enabled.
|
CharsetDetector | setDeclaredEncoding(String encoding)
Set the declared encoding for charset detection.
|
CharsetDetector | setText(byte[] in)
Set the input text (byte) data whose charset is to be detected.
|
CharsetDetector | setText(InputStream in)
Set the input text (byte) data whose charset is to be detected.
|
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
Returns: a CharsetMatch object representing the best matching charset, or
null
if there are no matches.
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
Returns: An array of CharsetMatch objects representing possibly matching charsets.
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
Parameters: filter true
to enable input text filtering.
Returns: The previous setting.
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
Returns: an array of the names of all charsets that can be recognized by the charset detector.
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getReader();
For the input stream that supplies the character data, markSupported()
must be true; the charset detection will read a small amount of data,
then return the stream to its original position via
the InputStream.reset() operation. The exact amount that will
be read depends on the characteristics of the data itself.
Raise an exception if no charsets appear to match the input data.
Parameters: in The source of the byte data in the unknown charset. declaredEncoding A declared encoding for the data, if available, or null or an empty string if none is available.
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getString();
Raise an exception if no charsets appear to match the input data.
Parameters: in The source of the byte data in the unknown charset. declaredEncoding A declared encoding for the data, if available, or null or an empty string if none is available.
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
Returns: true
if input text will be filtered.
See Also: CharsetDetector
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
Parameters: encoding The declared encoding
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
Parameters: in the input text of unknown encoding
Returns: This CharsetDetector
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.
Parameters: in the input text of unknown encoding
Returns: This CharsetDetector
UNKNOWN: ICU 3.4 This API might change or be removed in a future release.