You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.3 KiB
C

1 month ago
#ifndef AFX_EXT_CLASS
#define AFX_EXT_CLASS Q_DECL_IMPORT
#endif
#if !defined(__CCHINESECODELIB_H_)
#define __CCHINESECODELIB_H_
namespace GBase
{
class AFX_EXT_CLASS CChineseCode
{
public:
CChineseCode();
virtual ~CChineseCode();
//BOM<4F><4D><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>3<EFBFBD>ֽ<EFBFBD>UTF-8<>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>BOM<4F><4D>UTF-8<>ַ<EFBFBD><D6B7><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>Ч<EFBFBD>ġ<EFBFBD>
//<2F>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD>ֽڳ<D6BD><DAB3><EFBFBD>UTF-8<>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>UTF-8<>ַ<EFBFBD><D6B7><EFBFBD><EEB3A4><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD>ֽ<EFBFBD>
static bool IsUTF8(const void* pBuffer, size_t size, size_t& offset);
//<2F><><EFBFBD>صĽ<D8B5><C4BD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>delete
char* fromUTF8(char* str, size_t& nSize); //ת<><D7AA>ΪGB2312
char* ToUTF8(char* str, size_t& nSize); //ת<><D7AA>ΪUTF8
CString UTF_8ToGB2312(char *pText, int pLen);
CString GB2312ToUTF_8(char *pText, int pLen);
void UnicodeToUTF_8(char* pOut, WCHAR* pText); // Unicode ת<><D7AA><EFBFBD><EFBFBD>UTF-8
void UTF_8ToUnicode(WCHAR* pOut, char* pText); // <20><>UTF-8ת<38><D7AA><EFBFBD><EFBFBD>Unicode
//WCHAR<41><52>char<61>໥ת<E0BBA5><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ҫdelete
char* UnicodeToAnsi(const WCHAR* szStr, int wlen);
WCHAR* AnsiToUnicode(const char* szStr, int len);
//<2F><>ת<EFBFBD><D7AA>һ<EFBFBD><D2BB><EFBFBD>ֽ<EFBFBD>
void Gb2312ToUnicode(WCHAR* pOut, char *gbBuffer); // GB2312 ת<><D7AA><EFBFBD>ɡ<EFBFBD>Unicode
void UnicodeToGB2312(char* pOut, unsigned short uData); // <20><>Unicode ת<><D7AA><EFBFBD><EFBFBD> GB2312
CStringW UTF8toUTF16(const CStringA& utf8);
CStringA UTF16toUTF8(const CStringW& utf16);
};
}
#endif // !defined(__CCHINESECODELIB_H_)