1*cc02d7e2SAndroid Build Coastguard Worker #include <boost/locale.hpp> 2*cc02d7e2SAndroid Build Coastguard Worker 3*cc02d7e2SAndroid Build Coastguard Worker using namespace std; 4*cc02d7e2SAndroid Build Coastguard Worker 5*cc02d7e2SAndroid Build Coastguard Worker /* Return 0 on sucess, -1 on error */ utf8_boost(const unsigned char * data,int len)6*cc02d7e2SAndroid Build Coastguard Workerextern "C" int utf8_boost(const unsigned char* data, int len) { 7*cc02d7e2SAndroid Build Coastguard Worker try { 8*cc02d7e2SAndroid Build Coastguard Worker boost::locale::conv::utf_to_utf<char>(data, data + len, 9*cc02d7e2SAndroid Build Coastguard Worker boost::locale::conv::stop); 10*cc02d7e2SAndroid Build Coastguard Worker } catch (const boost::locale::conv::conversion_error& ex) { 11*cc02d7e2SAndroid Build Coastguard Worker return -1; 12*cc02d7e2SAndroid Build Coastguard Worker } 13*cc02d7e2SAndroid Build Coastguard Worker 14*cc02d7e2SAndroid Build Coastguard Worker return 0; 15*cc02d7e2SAndroid Build Coastguard Worker } 16