如'天'对应的编码为#36215

Label1.Caption := '天';
和Label1.Caption := #36215;的效果是一样的。
能用程序编出来任意一个汉字对应的二进制编码吗?

解决方案 »

  1.   

    var
      str:string;
      i:integer;
    begin
      str:='我是中国人';
      for i:=1 to length(str);
       edit1.text:=edit1.text+'#'+inttostr(ord(str[i]));
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    s:string;
    s1,s2:byte;
    begin
      s:='中';
      s1:=ord(s[1]);
      s2:=ord(s[2]);
      edit1.Text :=chr(s1)+chr(s2)+' 编码是: '+inttohex(s1,2)+inttohex(s2,2)+'H';
    end;
      

  3.   

    大家请看一下下面的Caption =...
      object Label1: TLabel
        Left = 29
        Top = 64
        Width = 85
        Height = 16
        Caption = #36215#22987#26085#26399#65306
        Font.Charset = GB2312_CHARSET
        Font.Color = clNavy
        Font.Height = -16
        Font.Name = #26999#20307'_GB2312'
        Font.Style = [fsBold]
        ParentFont = False
      end
      

  4.   

    提供点线索供参考:
    var 
      str:pchar;
    begin
      str := '天';
      str[0] //这两个里面就应该存的是汉字的内码。
      str[1]
    end;
      

  5.   

    我记得我有次:
    var aa:String;
    begin
      aa :='妓女';
      showmessage(inttostr(ord(aa[0])))//就是’妓‘的高位
    end;
      

  6.   

    一个汉字对应两个字节。天=#36215?怎么可能?
    中文高位和低位都大于128
    例如 天=#$CC#$EC
    #是control string的标志,其后的数值应当在0..255之间。
    showmessage(#36215)= ‘赶'
    str = #36215;
    是因为#后的数字>255后出现错误,这时赋值后str的长度有时是一个字节有时是两个字节,当设置成#36215时恰好是两个字节,拼在一起就是'赶’子了。