mirror of
https://github.com/yanyiwu/cppjieba.git
synced 2025-07-18 00:00:12 +08:00
add utf8 into TransCode.cpp && run ok
This commit is contained in:
parent
21aba96168
commit
fda9e910ed
@ -2,7 +2,6 @@
|
||||
|
||||
namespace CppJieba
|
||||
{
|
||||
string TransCode::_enc;
|
||||
vector<string> TransCode::_encVec;
|
||||
bool TransCode::_isInitted = TransCode::init();
|
||||
TransCode::pf_strToVec_t TransCode::_pf_strToVec = NULL;
|
||||
@ -10,9 +9,6 @@ namespace CppJieba
|
||||
|
||||
bool TransCode::init()
|
||||
{
|
||||
_encVec.push_back("utf-8");
|
||||
_encVec.push_back("gbk");
|
||||
_enc = _encVec[1];
|
||||
_pf_strToVec = gbkToVec;
|
||||
_pf_vecToStr = vecToGbk;
|
||||
return true;
|
||||
@ -26,22 +22,16 @@ namespace CppJieba
|
||||
{
|
||||
}
|
||||
|
||||
bool TransCode::setEnc(const string& enc)
|
||||
void TransCode::setGbkEnc()
|
||||
{
|
||||
if(_encVec.empty())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(isInVec<string>(_encVec, enc))
|
||||
{
|
||||
_enc = enc;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
_pf_strToVec = gbkToVec;
|
||||
_pf_vecToStr = vecToGbk;
|
||||
}
|
||||
|
||||
void TransCode::setUtf8Enc()
|
||||
{
|
||||
_pf_strToVec = utf8ToVec;
|
||||
_pf_vecToStr = vecToUtf8;
|
||||
}
|
||||
|
||||
bool TransCode::strToVec(const string& str, vector<uint16_t>& vec)
|
||||
@ -234,10 +224,11 @@ int main()
|
||||
|
||||
string a("严");
|
||||
vector<uint16_t> vec;
|
||||
cout<<TransCode::utf8ToVec(a, vec)<<endl;
|
||||
//TransCode::setUtf8Enc();
|
||||
cout<<TransCode::strToVec(a, vec)<<endl;
|
||||
PRINT_VECTOR(vec);
|
||||
|
||||
cout<<TransCode::vecToUtf8(vec.begin(), vec.end())<<endl;
|
||||
cout<<TransCode::vecToStr(vec.begin(), vec.end())<<endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/************************************
|
||||
* file enc : ASCII
|
||||
* file enc : utf-8
|
||||
* author : wuyanyi09@gmail.com
|
||||
************************************/
|
||||
#ifndef CPPJIEBA_TRANSCODE_H
|
||||
@ -20,7 +20,6 @@ namespace CppJieba
|
||||
typedef string (*pf_vecToStr_t)(VUINT16_CONST_ITER begin, VUINT16_CONST_ITER end);
|
||||
typedef size_t (*pf_getWordLength_t)(const string& str);
|
||||
private:
|
||||
static string _enc;
|
||||
static vector<string> _encVec;
|
||||
static bool _isInitted;
|
||||
static pf_strToVec_t _pf_strToVec;
|
||||
@ -28,7 +27,8 @@ namespace CppJieba
|
||||
static pf_getWordLength_t _pf_getWordLength;
|
||||
|
||||
public:
|
||||
static bool setEnc(const string& enc);
|
||||
static void setGbkEnc();
|
||||
static void setUtf8Enc();
|
||||
|
||||
public:
|
||||
TransCode();
|
||||
|
Loading…
x
Reference in New Issue
Block a user