#pragma once #include "afx.h" class CCharSetMgr : public CObject { public: CCharSetMgr(void); ~CCharSetMgr(void); // Operations public: static BOOL GB2UNICODE_WSTR( CByteArray &arInValue, CByteArray &arOutValue ); static BOOL UNICODE2GB_STR( CByteArray &arInValue, CByteArray &arOutValue, long &nOutSize ); static BOOL GB2UNICODE_WSTR( LPCSTR pInValue, long nInDataLength, CString &strOutValue ); static BOOL GB2UNICODE_WSTR( LPCSTR pInValue, long nInDataLength, CString &strOutValue, bool &bLined ); static BOOL GB2UNICODE_WSTR( BYTE bTrunc, LPCSTR pInValue, long nInDataLength, CString &strOutValue, bool &bLined ); static BOOL UNICODE2GB_STR( CString strInValue, CByteArray &arOutValue ); static BOOL GB2UNICODE_WSTR( CByteArray &arInValue, CString &strOutValue, bool &bLined ); private: static BOOL GB2UNICODE_CODE( char cChar, char cNextChar, TCHAR &tOutValue ); static BOOL UNICODE2GB_CODE( TCHAR tValue, char &cChar, char &cNextChar ); static BOOL GB2UNICODE_CODE_CHS( char cChar, char cNextChar, TCHAR &tOutValue ); static BOOL UNICODE2GB_CODE_CHS( TCHAR tValue, char &cChar, char &cNextChar ); };