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