diff --git a/src/cppcommon/encoding.cpp b/src/cppcommon/encoding.cpp new file mode 100644 index 0000000..b4d4578 --- /dev/null +++ b/src/cppcommon/encoding.cpp @@ -0,0 +1,111 @@ +#include "encoding.h" + +namespace CPPCOMMON +{ + const string& UnicodeEncoding::UTF8ENC = "utf-8"; + const string& UnicodeEncoding::GBKENC = "gbk"; + + UnicodeEncoding::UnicodeEncoding() + { + _encVec.push_back(UTF8ENC); + _encVec.push_back(GBKENC); + _encoding = UTF8ENC; + } + + UnicodeEncoding::~UnicodeEncoding() + { + } + + bool UnicodeEncoding::setEncoding(const string& enc) + { + if(!isInVec(_encVec, enc)) + { + return false; + } + _encoding = enc; + return true; + } + string UnicodeEncoding::encode(const string& str) + { + if(!isUniStrValid(str)) + { + cout<<__FILE__<<__LINE__< _encVec; + public: + UnicodeEncoding(); + ~UnicodeEncoding(); + public: + bool setEncoding(const string& enc); + string encode(const string& str); + string decode(const string& str); + public: + bool isUniStrValid(const string& unistr) + { + return !(unistr.empty() || unistr.size() % 2); + } + + }; +} + +#endif