用 API 作简繁体转换

2016-02-19 14:25 36 1 收藏

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

【 tulaoshi.com - 编程语言 】

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

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

    //----------------------------
    //函数输入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) ;

    //转换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(); //读入需要转换的字符参数

    //计算转换的字符数
     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;
    }

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

来源:http://www.tulaoshi.com/n/20160219/1606952.html

延伸阅读
标签: 软件教程
从小我们学的就是简体的汉语,当我们遇到繁体的时候就会有点头疼了。当然并不是所有的繁体我们都看不懂,只是看起的就会有点吃力,相对而言效率就会很低了。下面小编就告诉大家怎么使用wps文字中文简繁转换功能用法 1、首先我们打开wps,将你要转换的繁体复制进来 2、然后我们点击审阅==繁转简 我们来看...
标签: PHP
  這是以class包裝好的簡繁體轉換的class, 另外需要兩個table檔: 1. http://www.jerry.com.tw/php/big5.map 2. http://www.jerry.com.tw/php/gb.map 程式如下: CCharset.php3 <? //===================================================== // 程式員: Magic Jerry // // function Big5_Gb($str) = big5轉GB for string // fu...
标签: 电脑入门
在工作学习中,我们常常会在互联网上查找下载一些资料文档,但你是不是经常遇到一些繁体字的资料呢?今天图老师小编为大家介绍一下如何使用wps文字中的简繁转换功能。 首先,使用wps文字打开文档,在菜单栏中找到审阅选项,在审阅下我们可以找到简繁转换功能,如下图所示: 点击简转繁按钮后,我们就可以将整篇文章中的简体字转成繁体字,...
  对网页进行简繁字体转换的方法一般有两种:一是使用《简繁通》这样的专业软件,另外一种是制作两套版本的网页。显然,这两种方法都较为麻烦,而且专业软件一般不能用于免费的空间。笔者在这里给大家提供一个非常简单的方法,只须在页面上添加几行代码就可以轻松搞定网页的简繁转换了。 首先在http://www.knowsky.com/download...
标签: 电脑入门
在Excel中,没有简体和繁体文字之间的转换功能。 但是Word却有此功能,因此,我们可以在Excel中通过VBA代码调用Word的繁体和简体功能,实现在Excel中的简体繁体转换的功能。 下面就是与此相关的VBA代码,希望对你有帮助。 Sub JFZH() Dim wd As Word.Application Set wd = New Word.Application With wd.Documents.Add .Sections(1).Rang...

经验教程

82

收藏

59
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部