繁体转换成简体
2018-07-20 来源:open-open
// 输入Big5字符,返回Gb简体字符
//----------------------------
// 函数输入Big5字符,返回Gb简体字符
//----------------------------
AnsiString __fastcall Big2Gb(AnsiString sBig)
{
char* pszGbt = NULL; // Gb编码的繁体字符
char* pszGbs = NULL; // Gb编码的简体字符
AnsiString sGb; // 返回的字符串
int iLen = 0; // 需要转换的字符数
pszGbt = (char*)sBig.c_str();
// 计算转换的字符数
iLen = MultiByteToWideChar(950, 0, pszGbt, -1, NULL, 0);
// 给pszGbs分配内存
pszGbs = new char[iLen+1];
// 转换Gb码繁体到Gb码简体,使用API函数LCMapString
LCMapStringA(0x0804, LCMAP_SIMPLIFIED_CHINESE, pszGbt, -1, pszGbs, iLen);
// 返回Gb码简体字符
sGb = pszGbs;
// 释放内存
delete [] pszGbs;
return sGb;
}
//----------------------------
// 函数输入Big5字符,返回Gb简体字符
//----------------------------
AnsiString __fastcall Big2Gb(AnsiString sBig)
{
char* pszGbt = NULL; // Gb编码的繁体字符
char* pszGbs = NULL; // Gb编码的简体字符
AnsiString sGb; // 返回的字符串
int iLen = 0; // 需要转换的字符数
pszGbt = (char*)sBig.c_str();
// 计算转换的字符数
iLen = MultiByteToWideChar(950, 0, pszGbt, -1, NULL, 0);
// 给pszGbs分配内存
pszGbs = new char[iLen+1];
// 转换Gb码繁体到Gb码简体,使用API函数LCMapString
LCMapStringA(0x0804, LCMAP_SIMPLIFIED_CHINESE, pszGbt, -1, pszGbs, iLen);
// 返回Gb码简体字符
sGb = pszGbs;
// 释放内存
delete [] pszGbs;
return sGb;
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:C++STL之希尔排序
下一篇:C#获取机器硬件信息
最新资讯
热门推荐