diff --git a/src/HMMSegment.cpp b/src/HMMSegment.cpp index 12690ce..ab1cbde 100644 --- a/src/HMMSegment.cpp +++ b/src/HMMSegment.cpp @@ -113,7 +113,7 @@ namespace CppJieba vector unico; vector status; vector::iterator begin, left, right; - if(!TransCode::strToVec(str, unico)) + if(!TransCode::decode(str, unico)) { LogError("TransCode failed."); @@ -125,7 +125,7 @@ namespace CppJieba LogError("viterbi failed."); return false; } - //cout< ui16; - if(!TransCode::strToVec(str, ui16) || ui16.size() != 1) + if(!TransCode::decode(str, ui16) || ui16.size() != 1) { return false; } diff --git a/src/KeyWordExt.cpp b/src/KeyWordExt.cpp index c37f104..1b7c2b1 100644 --- a/src/KeyWordExt.cpp +++ b/src/KeyWordExt.cpp @@ -71,9 +71,9 @@ namespace CppJieba Unicode word; while(getline(ifile, line)) { - if(!TransCode::strToVec(line, word)) + if(!TransCode::decode(line, word)) { - LogError("strToVec failed ."); + LogError("decode failed ."); return false; } _stopWords.insert(word); @@ -142,9 +142,9 @@ namespace CppJieba for(uint i = 0; i < words.size(); i++) { Unicode uniWord; - if(!TransCode::strToVec(words[i], uniWord)) + if(!TransCode::decode(words[i], uniWord)) { - LogError("strToVec failed"); + LogError("decode failed"); return false; } keyWordInfos.push_back(uniWord); diff --git a/src/MPSegment.cpp b/src/MPSegment.cpp index 2d81308..643bd8b 100644 --- a/src/MPSegment.cpp +++ b/src/MPSegment.cpp @@ -46,7 +46,7 @@ namespace CppJieba res.clear(); for(uint i = 0; i < segWordInfos.size(); i++) { - res.push_back(TransCode::vecToStr(segWordInfos[i].word.begin(), segWordInfos[i].word.end())); + res.push_back(TransCode::encode(segWordInfos[i].word.begin(), segWordInfos[i].word.end())); } return true; } @@ -61,9 +61,9 @@ namespace CppJieba SegmentContext segContext; Unicode sentence; - if(!TransCode::strToVec(str, sentence)) + if(!TransCode::decode(str, sentence)) { - LogError("TransCode::strToVec failed."); + LogError("TransCode::decode failed."); return false; } diff --git a/src/TransCode.cpp b/src/TransCode.cpp index 73cd978..c7d773f 100644 --- a/src/TransCode.cpp +++ b/src/TransCode.cpp @@ -4,13 +4,13 @@ namespace CppJieba { vector TransCode::_encVec; bool TransCode::_isInitted = TransCode::init(); - TransCode::pf_strToVec_t TransCode::_pf_strToVec = NULL; - TransCode::pf_vecToStr_t TransCode::_pf_vecToStr = NULL; + TransCode::pf_decode_t TransCode::_pf_decode = NULL; + TransCode::pf_encode_t TransCode::_pf_encode = NULL; bool TransCode::init() { - _pf_strToVec = gbkToVec; - _pf_vecToStr = vecToGbk; + _pf_decode = gbkToVec; + _pf_encode = vecToGbk; return true; } @@ -24,23 +24,23 @@ namespace CppJieba void TransCode::setGbkEnc() { - _pf_strToVec = gbkToVec; - _pf_vecToStr = vecToGbk; + _pf_decode = gbkToVec; + _pf_encode = vecToGbk; } void TransCode::setUtf8Enc() { - _pf_strToVec = utf8ToVec; - _pf_vecToStr = vecToUtf8; + _pf_decode = utf8ToVec; + _pf_encode = vecToUtf8; } - bool TransCode::strToVec(const string& str, vector& vec) + bool TransCode::decode(const string& str, vector& vec) { - if(NULL == _pf_strToVec) + if(NULL == _pf_decode) { return false; } - return _pf_strToVec(str, vec); + return _pf_decode(str, vec); } bool TransCode::utf8ToVec(const string& str, vector& vec) @@ -112,13 +112,13 @@ namespace CppJieba return true; } - string TransCode::vecToStr(Unicode::const_iterator begin, Unicode::const_iterator end) + string TransCode::encode(Unicode::const_iterator begin, Unicode::const_iterator end) { - if(NULL == _pf_vecToStr) + if(NULL == _pf_encode) { return ""; } - return _pf_vecToStr(begin, end); + return _pf_encode(begin, end); } string TransCode::vecToUtf8(Unicode::const_iterator begin, Unicode::const_iterator end) @@ -177,18 +177,18 @@ namespace CppJieba return res; } - size_t TransCode::getWordLength(const string& str) - { - vector vec; - if(!strToVec(str, vec)) - { - return 0; - } - else - { - return vec.size(); - } - } + //size_t TransCode::getWordLength(const string& str) + //{ + // vector vec; + // if(!decode(str, vec)) + // { + // return 0; + // } + // else + // { + // return vec.size(); + // } + //} } @@ -205,12 +205,12 @@ int main() // // cout<&); @@ -221,10 +221,10 @@ int main() string a("abd你好世界!a"); vector vec; //TransCode::setUtf8Enc(); - cout<&); - typedef string (*pf_vecToStr_t)(Unicode::const_iterator begin, Unicode::const_iterator end); + typedef bool (*pf_decode_t)(const string&, vector&); + typedef string (*pf_encode_t)(Unicode::const_iterator begin, Unicode::const_iterator end); typedef size_t (*pf_getWordLength_t)(const string& str); private: static vector _encVec; static bool _isInitted; - static pf_strToVec_t _pf_strToVec; - static pf_vecToStr_t _pf_vecToStr; + static pf_decode_t _pf_decode; + static pf_encode_t _pf_encode; static pf_getWordLength_t _pf_getWordLength; public: @@ -36,17 +36,17 @@ namespace CppJieba public: static bool init(); public: - static bool strToVec(const string& str, vector& vec); - static string vecToStr(Unicode::const_iterator begin, Unicode::const_iterator end); - static size_t getWordLength(const string& str); + static bool decode(const string& str, vector& vec); + static string encode(Unicode::const_iterator begin, Unicode::const_iterator end); + //static size_t getWordLength(const string& str); public: static bool gbkToVec(const string& str, vector& vec); static string vecToGbk(Unicode::const_iterator begin, Unicode::const_iterator end); - static size_t getGbkLength(const string& str); + //static size_t getGbkLength(const string& str); public: static bool utf8ToVec(const string& str, vector& vec); static string vecToUtf8(Unicode::const_iterator begin, Unicode::const_iterator end); - static size_t getUtf8Length(const string& str); + //static size_t getUtf8Length(const string& str); }; } diff --git a/src/Trie.cpp b/src/Trie.cpp index 35ae3ce..3c8182d 100644 --- a/src/Trie.cpp +++ b/src/Trie.cpp @@ -109,7 +109,7 @@ namespace CppJieba LogError(string_format("line[%s] illegal.", line.c_str())); return false; } - if(!TransCode::strToVec(vecBuf[0], nodeInfo.word)) + if(!TransCode::decode(vecBuf[0], nodeInfo.word)) { return false; } @@ -156,10 +156,10 @@ namespace CppJieba } Unicode uintVec; - bool retFlag = TransCode::strToVec(str, uintVec); + bool retFlag = TransCode::decode(str, uintVec); if(retFlag) { - LogError("TransCode::strToVec failed."); + LogError("TransCode::decode failed."); return NULL; } @@ -198,7 +198,7 @@ namespace CppJieba TrieNodeInfo* Trie::find(const string& str) { Unicode uintVec; - bool retFlag = TransCode::strToVec(str, uintVec); + bool retFlag = TransCode::decode(str, uintVec); if(!retFlag) { return NULL; @@ -260,7 +260,7 @@ namespace CppJieba { Unicode uintVec; - TransCode::strToVec(str, uintVec); + TransCode::decode(str, uintVec); return getWeight(uintVec); } diff --git a/src/structs.h b/src/structs.h index 0ff505d..13e4d9c 100644 --- a/src/structs.h +++ b/src/structs.h @@ -84,7 +84,7 @@ namespace CppJieba } string toString() const { - return string_format("{word:%s,weight:%lf, idf:%lf}", TransCode::vecToStr(word.begin(), word.end()).c_str(), weight, idf); + return string_format("{word:%s,weight:%lf, idf:%lf}", TransCode::encode(word.begin(), word.end()).c_str(), weight, idf); } KeyWordInfo& operator = (const TrieNodeInfo& trieNodeInfo) {