简体转换成繁体
2018-07-20 来源:open-open
// 输入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;
}
标签: b2b
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:C++STL排序算法验证
下一篇: C#访问文件路径通用类
最新资讯
热门推荐