From aa0f95bcc6181234c4e0473089c74f77f402b275 Mon Sep 17 00:00:00 2001 From: gwdwyy Date: Mon, 22 Jul 2013 00:08:08 +0800 Subject: [PATCH] update cppcommon --- src/cppcommon/encoding.cpp | 111 +++++++++++++++++++++++++++++++++++++ src/cppcommon/encoding.h | 39 +++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 src/cppcommon/encoding.cpp create mode 100644 src/cppcommon/encoding.h 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