清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
// 输入Gb字符,返回Big5字符
//---------------------------------------------------------------------------
// 函数输入Gb字符,返回Big5字符
//---------------------------------------------------------------------------
AnsiString __fastcall Gb2Big(AnsiString sGb)
{
if(sGb.size() == 0) return sGb;
char *pszGbt = NULL; // Gb编码的繁体字符
char *pszGbs = NULL; // Gb编码的简体字符
AnsiString sBig5; // 返回的字符串
int iLen = 0; // 需要转换的字符数
pszGbs = (char *)sGb.c_str(); // 读入需要转换的字符参数
// 计算转换的字符数
iLen = MultiByteToWideChar(936, 0, pszGbs, -1, NULL, 0);
// 给pszGbt分配内存
pszGbt = new char[iLen*2+1];
// 转换Gb码简体到Gb码繁体,使用API函数LCMapString
LCMapStringA(0x0804, LCMAP_TRADITIONAL_CHINESE, pszGbs, -1, pszGbt, iLen*2);
sBig5 = pszGbt;
//释放内存
delete [] pszGbt;
return sBig5;
}
//---------------------------------------------------------------------------
// 函数输入Gb字符,返回Big5字符
//---------------------------------------------------------------------------
AnsiString __fastcall Gb2Big(AnsiString sGb)
{
if(sGb.size() == 0) return sGb;
char *pszGbt = NULL; // Gb编码的繁体字符
char *pszGbs = NULL; // Gb编码的简体字符
AnsiString sBig5; // 返回的字符串
int iLen = 0; // 需要转换的字符数
pszGbs = (char *)sGb.c_str(); // 读入需要转换的字符参数
// 计算转换的字符数
iLen = MultiByteToWideChar(936, 0, pszGbs, -1, NULL, 0);
// 给pszGbt分配内存
pszGbt = new char[iLen*2+1];
// 转换Gb码简体到Gb码繁体,使用API函数LCMapString
LCMapStringA(0x0804, LCMAP_TRADITIONAL_CHINESE, pszGbs, -1, pszGbt, iLen*2);
sBig5 = pszGbt;
//释放内存
delete [] pszGbt;
return sBig5;
}