⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plxcharset.h

📁 mtk wap和mms代码。。适应mtk 25。26平台
💻 H
字号:
/***************************************************************************
*
*                      Pollex Mobile Platform
*
*  Copyright (c) 2004 by Pollex Mobile Software Co., Ltd.
*                       All Rights Reserved
*
*  Module  :    
*
*  Purpose :
*  
\**************************************************************************/
#ifndef _POLLEX_CHARSET_CONVERT_H_
#define _POLLEX_CHARSET_CONVERT_H_

#ifdef MMI_ON_HARDWARE_P
int  PlxUCS2ToGB2312(const char */*IN*/lpUCS2Str, int /*IN*/chInUCS2, char */*OUT*/lpGB2312Str, int /*IN*/bufLenGB2312);
int PlxGB2312ToUCS2(const char */*IN*/lpGB2312Str, int /*IN*/chInGB2312, char */*OUT*/lpUCS2Str, int /*IN*/bufLenUCS2);
int PlxUTF8ToUCS2(const char */*IN*/lpUTF8Str, int /*IN*/chInUTF8, char */*OUT*/lpUCS2Str, int /*IN*/bufLenUCS2);
int PlxUCS2ToUTF8(const char */*IN*/lpUCS2Str, int /*IN*/chInUCS2, char */*OUT*/lpUTF8Str, int /*IN*/bufLenUTF8);
int PlxGB2312ToUTF8(const char */*IN*/lpGB2312Str, int /*IN*/chInGB2312, char */*OUT*/lpUTF8CharStr, int /*IN*/bufLenUTF8);
int PlxUTF8ToGB2312(const char */*IN*/lpUTF8CharStr, char */*OUT*/lpGB2312Str, int /*IN*/bufLenGB2312);
#else
#ifdef CP_ACP
#undef CP_ACP
#endif
#define CP_ACP   1
typedef unsigned short WCHAR;
typedef WCHAR*         LPWSTR;
typedef char*          LPSTR;
typedef const unsigned short* LPCWSTR;

typedef int*          LPBOOL;
int PlxMultiByteToUTF8(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, 
					   int cchMultiByte, LPSTR lpUtf8CharStr, int cUtf8Char);

int PlxUTF8ToMultiByte(UINT CodePage, DWORD dwFlags, LPCSTR lpUtf8CharStr, 
					   int cUtf8Char, LPSTR lpMultiByteStr, int cchMultiByte, 
					   LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar);

int  PlxWideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, 
							int cchWideChar, LPSTR lpMultiByteStr, int cchMultiByte, 
							LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar);

int PlxMultiByteToWideChar(UINT CodePage, DWORD dwFlags, 
						   LPCSTR lpMultiByteStr, int cchMultiByte, 
						   LPWSTR lpWideCharStr, int cchWideChar);

int PlxUTF8ToWideChar(LPCSTR lpUtf8Str, int cUtf8Len, LPSTR lpWideCharStr, int cWideCharLen);

int PlxWideCharToUTF8(LPCSTR lpWideCharStr, int cWideCharLen, LPSTR lpUtf8Str, int cUtf8Len);



#define PlxUCS2ToGB2312(lpUCS2Str, chInUCS2, lpGB2312Str, bufLenGB2312)	\
PlxWideCharToMultiByte(CP_ACP, 0, (LPCWSTR)lpUCS2Str, chInUCS2, (LPSTR)lpGB2312Str, bufLenGB2312, 0, 0)

#define PlxGB2312ToUCS2(lpGB2312Str, chInGB2312, lpUCS2Str, bufLenUCS2)	\
PlxMultiByteToWideChar(CP_ACP, 0, (LPCSTR)lpGB2312Str, chInGB2312, (LPWSTR)lpUCS2Str, bufLenUCS2)

#define PlxUTF8ToUCS2(lpUTF8Str, srcLen, lpUCS2Str, bufLenUCS2)	\
PlxUTF8ToWideChar((LPCSTR)lpUTF8Str, srcLen, (LPSTR)lpUCS2Str, bufLenUCS2)

#define PlxUCS2ToUTF8(lpUCS2Str, chInUCS2, lpUTF8Str, bufLenUTF8)	\
PlxWideCharToUTF8((LPCSTR)lpUCS2Str, chInUCS2, (LPSTR)lpUTF8Str, bufLenUTF8)

#define PlxGB2312ToUTF8(lpGB2312Str, chInGB2312, lpUTF8CharStr, bufLenUTF8)	\
PlxMultiByteToUTF8(CP_ACP, 0, (LPCSTR)lpGB2312Str, chInGB2312, (LPSTR)lpUTF8CharStr, bufLenUTF8)

#define PlxUTF8ToGB2312(lpUTF8CharStr, lpGB2312Str, bufLenGB2312)	\
PlxUTF8ToMultiByte(CP_ACP, 0, (LPCSTR)lpUTF8CharStr, -1, (LPSTR)lpGB2312Str, bufLenGB2312, 0, 0)

#endif	//end of MMI_ON_HARDWARE_P

#ifdef MMI_ON_HARDWARE_P
#define PlxWideCharToUTF8	PlxUCS2ToUTF8
#define PlxUTF8ToWideChar(src, srcLen, dst, dstlen)	\
	PlxUTF8ToUCS2((const char *)src, srcLen, (char *)dst, (int)dstlen)
#endif

//void PlxUTF82UCS2(char * dst, char * src, int srcLen, int dstLen);
//int PlxUTF8ToWideChar(const char * lpUtf8Str, int cUtf8Len, char * lpWideCharStr, int cWideCharLen);
#define PlxUTF82UCS2(dst, src, srcLen, dstLen)	\
	PlxUTF8ToUCS2((const char *)src, srcLen, (char *)dst, (int)dstLen)

#endif	//_POLLEX_CHARSET_CONVERT_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -