用 API 作简繁体转换

外星小市民

外星小市民

2016-02-19 14:25

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐用 API 作简繁体转换,无聊中的都看过来。

    1. 输入Big5字符,返回Gb简体字符

    //----------------------------
    //函数输入Big5字符,返回Gb简体字符
    //----------------------------
    AnsiString __fastcall Big2Gb(AnsiString sBig)
    {
     char* pszBig5=NULL; //Big5编码的字符
     wchar_t* wszUnicode=NULL; //Unicode编码的字符
     char* pszGbt=NULL; //Gb编码的繁体字符
     char* pszGbs=NULL; //Gb编码的简体字符
     AnsiString sGb; //返回的字符串
     int iLen=0; //需要转换的字符数
   
     pszBig5=sBig.c_str(); //读入需要转换的字符参数
   
     //计算转换的字符数
     iLen=MultiByteToWideChar (950, 0, pszBig5, -1, NULL,0) ;
     //给wszUnicode分配内存
     wszUnicode=new wchar_t[iLen+1];
     //转换Big5码到Unicode码,使用了API函数MultiByteToWideChar
     MultiByteToWideChar (950, 0, pszBig5, -1, wszUnicode,iLen);
   
     //计算转换的字符数
     iLen=WideCharToMultiByte (936, 0, (PWSTR) wszUnicode, -1, NULL,0, NULL, NULL) ;
     //给pszGbt分配内存
     pszGbt=new char[iLen+1];
     //给pszGbs分配内存
     pszGbs=new char[iLen+1];
     //转换Unicode码到Gb码繁体,使用API函数WideCharToMultiByte
     WideCharToMultiByte (936, 0, (PWSTR) wszUnicode, -1, pszGbt,iLen, NULL, NULL) ;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

    //转换Gb码繁体到Gb码简体,使用API函数LCMapString
     LCMapString(0x0804,LCMAP_SIMPLIFIED_CHINESE, pszGbt, -1, pszGbs, iLen);
   
     //返回Gb码简体字符
     sGb=pszGbs;
   
     //释放内存
     delete [] wszUnicode;
     delete [] pszGbt;
     delete [] pszGbs;
    
     return sGb;
    }

  2. 输入Gb字符,返回Big5字符
   
  //---------------------------------------------------------------------------
    //函数输入Gb字符,返回Big5字符
    //---------------------------------------------------------------------------
    AnsiString __fastcall Gb2Big(AnsiString sGb)
    {
     char* pszGbt=NULL; //Gb编码的繁体字符
     char* pszGbs=NULL; //Gb编码的简体字符
     wchar_t* wszUnicode=NULL; //Unicode编码的字符
     char* pszBig5=NULL; //Big5编码的字符
     AnsiString sBig5; //返回的字符串
     int iLen=0; //需要转换的字符数
   
     pszGbs=sGb.c_str(); //读入需要转换的字符参数

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

    //计算转换的字符数
     iLen=MultiByteToWideChar (936, 0, pszGbs, -1, NULL,0) ;
   
     //给pszGbt分配内存
     pszGbt=new char[iLen*2+1];
     //转换Gb码简体到Gb码繁体,使用API函数LCMapString
     LCMapString(0x0804,LCMAP_TRADITIONAL_CHINESE, pszGbs, -1, pszGbt, iLen*2);
   
     //给wszUnicode分配内存
     wszUnicode=new wchar_t[iLen+1];
     //转换Gb码到Unicode码,使用了API函数MultiByteToWideChar
     MultiByteToWideChar (936, 0, pszGbt, -1, wszUnicode,iLen);
   
     //计算转换的字符数
     iLen=WideCharToMultiByte (950, 0, (PWSTR) wszUnicode, -1, NULL,0, NULL, NULL) ;
     //给pszBig5分配内存
     pszBig5=new char[iLen+1];
     //转换Unicode码到Big5码,使用API函数WideCharToMultiByte
     WideCharToMultiByte (950, 0, (PWSTR) wszUnicode, -1, pszBig5,iLen, NULL, NULL) ;
   
     //返回Big5码字符
     sBig5=pszBig5;
   
     //释放内存
     delete [] wszUnicode;
     delete [] pszGbt;
     delete [] pszBig5;
   
     return sBig5;
    }

展开更多 50%)
分享

猜你喜欢

用 API 作简繁体转换

编程语言 网络编程
用 API 作简繁体转换

Excel简繁体转换方法

excel
Excel简繁体转换方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

WPS演示简繁体字自由转换

电脑入门
WPS演示简繁体字自由转换

搜狗手机输入法简繁体转换方法

手机软件 应用软件
搜狗手机输入法简繁体转换方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

WPS中简繁体字转换怎么使用

wps教程 wps office教程
WPS中简繁体字转换怎么使用

PHP输出控制功能在简繁体转换中的应用

PHP
PHP输出控制功能在简繁体转换中的应用

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

VC++中如何获取进程模块的信息

VC++中如何获取进程模块的信息

qq数据线文件在哪里

qq数据线文件在哪里
下拉加载更多内容 ↓