xref: /aosp_15_r20/external/cronet/third_party/ced/src/README.md (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker### Introduction
2*6777b538SAndroid Build Coastguard Worker
3*6777b538SAndroid Build Coastguard WorkerCompact Encoding Detection(CED for short) is a library written in C++ that
4*6777b538SAndroid Build Coastguard Workerscans given raw bytes and detect the most likely text encoding.
5*6777b538SAndroid Build Coastguard Worker
6*6777b538SAndroid Build Coastguard WorkerBasic usage:
7*6777b538SAndroid Build Coastguard Worker
8*6777b538SAndroid Build Coastguard Worker```
9*6777b538SAndroid Build Coastguard Worker#include "compact_enc_det/compact_enc_det.h"
10*6777b538SAndroid Build Coastguard Worker
11*6777b538SAndroid Build Coastguard Workerconst char* text = "Input text";
12*6777b538SAndroid Build Coastguard Workerbool is_reliable;
13*6777b538SAndroid Build Coastguard Workerint bytes_consumed;
14*6777b538SAndroid Build Coastguard Worker
15*6777b538SAndroid Build Coastguard WorkerEncoding encoding = CompactEncDet::DetectEncoding(
16*6777b538SAndroid Build Coastguard Worker        text, strlen(text),
17*6777b538SAndroid Build Coastguard Worker        nullptr, nullptr, nullptr,
18*6777b538SAndroid Build Coastguard Worker        UNKNOWN_ENCODING,
19*6777b538SAndroid Build Coastguard Worker        UNKNOWN_LANGUAGE,
20*6777b538SAndroid Build Coastguard Worker        CompactEncDet::WEB_CORPUS,
21*6777b538SAndroid Build Coastguard Worker        false,
22*6777b538SAndroid Build Coastguard Worker        &bytes_consumed,
23*6777b538SAndroid Build Coastguard Worker        &is_reliable);
24*6777b538SAndroid Build Coastguard Worker
25*6777b538SAndroid Build Coastguard Worker```
26*6777b538SAndroid Build Coastguard Worker
27*6777b538SAndroid Build Coastguard Worker### How to build
28*6777b538SAndroid Build Coastguard Worker
29*6777b538SAndroid Build Coastguard WorkerYou need [CMake](https://cmake.org/) to build the package. After unzipping
30*6777b538SAndroid Build Coastguard Workerthe source code , run `autogen.sh` to build everything automatically.
31*6777b538SAndroid Build Coastguard WorkerThe script also downloads [Google Test](https://github.com/google/googletest)
32*6777b538SAndroid Build Coastguard Workerframework needed to build the unittest.
33*6777b538SAndroid Build Coastguard Worker
34*6777b538SAndroid Build Coastguard Worker```
35*6777b538SAndroid Build Coastguard Worker$ cd compact_enc_det
36*6777b538SAndroid Build Coastguard Worker$ ./autogen.sh
37*6777b538SAndroid Build Coastguard Worker...
38*6777b538SAndroid Build Coastguard Worker$ bin/ced_unittest
39*6777b538SAndroid Build Coastguard Worker```
40*6777b538SAndroid Build Coastguard Worker
41*6777b538SAndroid Build Coastguard WorkerOn Windows, run `cmake .` to download the test framework, and generate
42*6777b538SAndroid Build Coastguard Workerproject files for Visual Studio.
43*6777b538SAndroid Build Coastguard Worker
44*6777b538SAndroid Build Coastguard Worker```
45*6777b538SAndroid Build Coastguard WorkerD:\packages\compact_enc_det> cmake .
46*6777b538SAndroid Build Coastguard Worker```
47