软件注册站
热情软件屋

 
如何得到汉字GB码的内码
编号: QA003705    
建立日期: 2000年12月25日 最后修改日期: 2004年9月7日
所属类别: Delphi - 其他方面
   
    操作系统: Windows98
    编程工具: delphi
    问题: 如何得到汉字GB码的内码,即根据输入的汉字转换为16进制的内码输出?
    水平: 刚入门(陈昔乐)
   
    国标码汉字的内码是从A0-FF,第一字节称为区,第二字节称为位,可用汉字只有96区*96位个。谈到字符集就不能不提ASCII了,它是1个Byte,其16进制最大的为FFH即255个西文字符,这就是常见的字符如“+”、“^”等等,还包括图形字符如Chr(220)等。
    处理中文字符原理:
    中文字符就是ascii码,由两个字节组成(>127),早期国家定义是1个Word(2个Byte)代表一个汉字,这也是你所见的,为什么汉字是2个字节的原因。因为此,其包括汉字总数是FF*FFH即65535个汉字,这也是国标由来。
    quoted-printable的编码就是用一个=表示开始然后在后面紧跟两个数位的16进制数,例如:
    汉字: 问题 编码后的文字: =CE=CA=CC=E2
    这类编码用Chr函数就可以,如果相反也同理:
     Chr($CE) + Chr($CA):=双字节的字!
    主持人注:下面是一个例子:
    procedure TForm1.Button1Click(Sender: TObject);
    var i, o:integer;
    begin
     Label1.Caption := '';
     for i := 1 to Edit1.GetTextLen() do
     begin
     o := Ord(Edit1.Text[i]);
     Label1.Caption := Label1.Caption + IntToHex(o, 2) + ' ';
     end;
    end;
    

    
    相关问题:
    QA002239 "如何用VB5获取中文WINDOWS95/98中的汉字机内码"
    QA001345 "如何获得BIG5与GB的转换呢"

    

此问题由房客/Jason回答。

附加关键字:编程, 源程序, programming, source code, Delphi, VCL, Borland, 其他方面,

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio