diff --git a/src/cppcommon/Makefile b/src/cppcommon/Makefile index 2d562ec..cb2d2cf 100644 --- a/src/cppcommon/Makefile +++ b/src/cppcommon/Makefile @@ -28,7 +28,7 @@ file_functs.test: file_functs.cpp file_functs.h io_functs.test: io_functs.cpp io_functs.h g++ -o $@ $< -DTEST_IO_FUNCTS str_functs.ut: str_functs.cpp str_functs.h - g++ -o $@ $< -DTEST_STR_FUNCTS + g++ -o $@ $< -DTEST_STR_FUNCTS -liconv vec_functs.test: vec_functs.cpp vec_functs.h vec_functs.tcc g++ -o $@ $< -DTEST_VEC_FUNCTS diff --git a/src/cppcommon/str_functs.cpp b/src/cppcommon/str_functs.cpp index 24dd35b..f014992 100644 --- a/src/cppcommon/str_functs.cpp +++ b/src/cppcommon/str_functs.cpp @@ -307,6 +307,49 @@ namespace CPPCOMMON return res; } + //iconv + int code_convert(const char *from_charset,const char *to_charset,char *inbuf,size_t inlen,char *outbuf,size_t outlen) + { + iconv_t cd; + + char **pin = &inbuf; + char **pout = &outbuf; + + cd = iconv_open(to_charset,from_charset); + if (cd==NULL) + { + //cout<<__FILE__<<__LINE__< utf8 + string gbkToUtf8(const string& gbk) + { + //cout<<__FILE__<<__LINE__< tmp; + //tmp.push_back("1"); + ////tmp.push_back("2"); + ////tmp.clear(); + //cout< tmp; - tmp.push_back("1"); - //tmp.push_back("2"); - //tmp.clear(); - cout< #include #include +#include +#include #include "typedefs.h" namespace CPPCOMMON { @@ -35,6 +37,8 @@ namespace CPPCOMMON string unicodeToUtf8(const string& uniStr); int utf8ToUnicode(const char* inutf8, int len, uint16_t* unicode); string utf8ToUnicode(const string& utfStr); + int code_convert(const char *from_charset,const char *to_charset,char *inbuf,size_t inlen,char *outbuf,size_t outlen); + string gbkToUtf8(const string& gbk); inline uint16_t twocharToUint16(char high, char low) {