⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdn_文档中心_c++ big5到gb.htm

📁 csdn10年中间经典帖子
💻 HTM
📖 第 1 页 / 共 2 页
字号:
  <TR bgColor=#999999>
    <TD colSpan=3 height=1></TD></TR></TBODY></TABLE>
<TABLE border=0 width=770>
  <TBODY>
  <TR>
    <TD align=middle bgColor=#fafafa class=td1 vAlign=top width=150><BR>
      <SCRIPT src="CSDN_文档中心_C++ BIG5到GB.files/microsoft.js"></SCRIPT>
    </TD>
    <TD align=middle width=620>
      <TABLE bgColor=#eeeeee border=0 cellPadding=0 cellSpacing=0 width=600>
        <TBODY>
        <TR bgColor=#ffffff>
          <TD align=middle height=10 width=50></TD>
          <TD align=right><A href="http://www.csdn.net/">CSDN</A> - <A 
            href="http://www.csdn.net/develop/">文档中心</A> - <FONT 
            color=#003399>Visual C++</FONT>&nbsp;&nbsp;&nbsp;&nbsp; </TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399 height=10><FONT 
            color=#ffffff>标题</FONT></TD>
          <TD><B>&nbsp;&nbsp;&nbsp;&nbsp;C++: 
            BIG5到GB</B>&nbsp;&nbsp;&nbsp;&nbsp;ghj1976(转贴) </TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399><FONT color=#ffffff>关键字</FONT></TD>
          <TD width=500>&nbsp;&nbsp;&nbsp;&nbsp;C++: BIG5到GB</TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399 height=10><FONT 
            color=#ffffff>出处</FONT></TD>
          <TD height=10>&nbsp;&nbsp;&nbsp;&nbsp;<A 
            href="http://www6.163.com/it/item/0,2186,2777,00.html">http://www6.163.com/it/item/0,2186,2777,00.html</A></TD></TR>
        <TR>
          <TD align=middle height=10></TD>
          <TD height=10></TD></TR></TBODY></TABLE><!--文章说明信息结束//-->
      <TABLE border=0 width=600>
        <TBODY>
        <TR>
          <TD align=left><BR>
            <TABLE align=left border=0 cellPadding=4 cellSpacing=0 width=591>
              <TBODY>
              <TR>
                <TD align=middle class=p3 height=30><B>C++: BIG5到GB</B> 
                  <P align=center>(11/03/1999)</P></TD></TR>
              <TR>
                <TD class=p2 width=591>
                  <P class=p3>   
                  中文因为数量太多,所以与英文用ASCII码一个字节表示不同,它使用两个字节来表示。通过计算这两个字节,我们可以得到其表示的汉字在中文字库中的位置。读取该位置的若干字节,以获得表示这个汉字的点阵信息。有了这些信息,就可以分别在DOS或WINDOWS中显示该汉字。事实上,在文本文件中保存的就是每个汉字对应的两个字节编码,而显示问题由中文操作系统自动解决。 
                  <BR><BR>汉字编码并不统一,我们使用的是GB码,而台湾地区使用的是BIG5码。BIG5码文件中保存的是汉字相应的BIG5编码,GB码文件中保存的是汉字相应的GB编码(这也就是“乱码现象”的来由)。所以转换工作的关键是有一个记录每个BIG5编码对应GB编码的码表文件。 
                  <BR>第一步 制作码表文件 
                  <BR><BR>BIG5码编码规则是这样的:每个汉字由两个字节构成,第一个字节的范围从0X81-0XFE,共126种。第二个字节的范围分别为0X40-0X7E,0XA1-0XFE,共157种。也就是说,利用这两个字节共可定义出 
                  126 * 
                  157=19782种汉字。这些汉字的一部分是我们常用到的,如一、丁,这些字我们称为常用字,其BIG5码的范围为0XA440-0XC671,共5401个。较不常用的字,如滥、调,我们称为次常用字,范围为 
                  0XC940-0XF9FE,共7652个,剩下的便是一些特殊字符。 
                  <BR><BR>制作码表文件的原理是这样的:首先将所有的BIG5编码写入一个文件,然后,使用具有BIG5码到GB码转换功能的软件,如地球村、东方快车、四通利方,将文件转换为GB码文件,即得到码表文件。 
                  <BR><BR>下面的源程序将所有可能的BIG5编码(0XA100-0XFEFF)写入文件“Table.TXT”。 
                  <BR><BR>//TURBO C++ 3.0 <BR>#include <STDIO.H><BR>#include 
                  <STDLIB.H><BR>void main(){ <BR>FILE * codefile; <BR>int i,j,k; 
                  <BR>codefile=fopen("table.txt","w+b"); <BR>for 
                  (i=0xa1;i&lt;=0xfe;I++){ <BR>for(j=0x00;j&lt;=0xff;j++){ 
                  <BR>fwrite(&amp; i,1,1,codefile); <BR>fwrite(&amp; 
                  j,1,1,codefile);} <BR>} <BR>fclose(codefile); <BR>return; 
                  <BR>} <BR>运行地球村、东方快车或四通利方,将“Table.txt”从BIG5码转换为GB码,即获得码表文件。 
                  <BR><BR>第二步 转换 <BR>下面的源程序,将BIG5码文件转换为GB码文件。 <BR>//TURBO C++3.0 
                  <BR>#include <STDIO.H><BR>#include <STDLIB.H><BR>void main(){ 
                  <BR>int que, wei; <BR>FILE * sourcefile; <BR>FILE * tabfile; 
                  <BR>FILE * destfile; <BR>sourcefile = fopen("big.txt', "r+b"); 
                  <BR>//BIG5 码文件 <BR>tabfile = fopen("table.txt", 'r+b"); 
                  <BR>//码表文件 <BR>destfile = fopen("gb.txt","w+b"); 
                  <BR>//转换生成的GB码文件 <BR>while (!feof(sourcefile)){ 
                  <BR>fread(&amp; que,1,1,sourcefile); <BR>if 
                  (feof(sourcefile)){ <BR>break; } <BR>if (que&gt; =0xa1 
                  &amp;&amp; que &lt;=0xfe) <BR>//叛断是否汉字(BIG5编码) 
                  <BR>{fread(&amp; wei,1,1,sourcefile); <BR>if (wei&lt;0xa1) wei 
                  = wei - 0x40; <BR>if (wei&gt;=0xa1) wei = wei - 0xa1 + 0x7e - 
                  0x40 + 1; <BR>fseek(tabfile, 2 * ((que -0xa1) * (0xfe - 0xa1 + 
                  1 + 0x7e - 0x40 + 1 ) + wei), SEEK_SET); <BR>fread(&amp; 
                  que,1,1,tabfile); <BR>fread(&amp; wei,1,1,tabfile); 
                  <BR>fwrite(&amp; que,1,1,destfile); <BR>fwrite(&amp; 
                  wei,1,1,destfile); <BR>} <BR>else <BR>fwrite(&amp; 
                  que,1,1,destfile); //处理英文 <BR>} <BR>fclose(sourcefile); 
                  <BR>fclose(tabfile); <BR>fclose(destfile); <BR>return; <BR>} 
                  <BR>以上程序在Win95/97,TC3.0 
                  通过。稍加修改,也可用于VC或VB程序中。用同样的方法,我们也可以将GB码转换为BIG5码。 <BR><BR><A 
                  lign="right">本文来自<A 
                  href="http://proglib.webunion.com/">中国程序员网站</A> <BR><!-- Vignette StoryServer 4 Tue Aug 15 17:42:01 2000 -->
                  <SCRIPT language=JavaScript>
function recommendNew(){
	OpenWindow = window.open('http://talkshow.163.com/recommend.php?referer='+parent.location,'recWin','toolbar=no,scrollbars=no,menubar=no,width=470,height=470')
}
</SCRIPT>

                  <P>&nbsp;</P></TD></TR></TBODY></TABLE><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE align=center bgColor=#006699 border=0 cellPadding=0 cellSpacing=0 
width=770>
  <TBODY>
  <TR bgColor=#006699>
    <TD align=middle bgColor=#006699 id=white><FONT 
    color=#ffffff>对该文的评论</FONT></TD>
    <TD align=middle>
      <SCRIPT src="CSDN_文档中心_C++ BIG5到GB.files/readnum.htm"></SCRIPT>
    </TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#666666 border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TD bgColor=#cccccc colSpan=3><SPAN style="COLOR: #cccccc"><IMG height=16 
      hspace=1 src="CSDN_文档中心_C++ BIG5到GB.files/ico_pencil.gif" width=16> 
      </SPAN>&nbsp;&nbsp;&nbsp;&nbsp; DataBind <I>(2000-11-28 8:45:21)</I> 
</TD></TR>
  <TR>
    <TD bgColor=#ffffff colSpan=3 width=532><BR>另:简单办法 
      big5==&gt;unicode==&gt;GB MultiByteToWideChar(...) 
      WideCharToMultiByte(...) <BR></TD></TR></TBODY></TABLE><BR>
<DIV align=center>
<TABLE align=center bgColor=#cccccc border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TH bgColor=#006699 id=white><FONT 
color=#ffffff>我要评论</FONT></TH></TR></TBODY></TABLE></DIV>
<DIV align=center>
<TABLE border=0 width=770>
  <TBODY>
  <TR>
    <TD>你没有登陆,无法发表评论。 请先<A 
      href="http://www.csdn.net/member/login.asp?from=/Develop/read_article.asp?id=1626">登陆</A> 
      <A 
href="http://www.csdn.net/expert/zc.asp">我要注册</A><BR></TD></TR></TBODY></TABLE></DIV><BR>
<HR noShade SIZE=1 width=770>

<TABLE border=0 cellPadding=0 cellSpacing=0 width=500>
  <TBODY>
  <TR align=middle>
    <TD height=10 vAlign=bottom><A 
      href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A> - <A 
      href="http://www.csdn.net/map/map.shtm">网站地图</A> - <A 
      href="http://www.csdn.net/help/help.asp">帮助信息</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=2">联系方式</A> - <A 
      href="http://www.csdn.net/english">English</A> </TD>
    <TD align=middle rowSpan=3><A 
      href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG 
      border=0 height=48 src="CSDN_文档中心_C++ BIG5到GB.files/biaoshi.gif" 
      width=40></A></TD></TR>
  <TR align=middle>
    <TD vAlign=top>百联美达美公司 版权所有 京ICP证020026号</TD></TR>
  <TR align=middle>
    <TD vAlign=top><FONT face=Verdana>Copyright &copy; CSDN.net, Inc. All rights 
      reserved</FONT></TD></TR>
  <TR>
    <TD height=15></TD>
    <TD></TD></TR></TBODY></TABLE></DIV>
<DIV></DIV><!--内容结束//--><!--结束//--></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -