例如“钱”字转为ASCII码:
  ss:='钱';
  edit2.Text :=inttohex(ord(ss[1]), 2);
  EDIT2就会显示出“94B1”  如果将94B1再转成汉字时,
  EDIT1.TEXT:=CHAR($94)+CHAR($B1);  以上写法在DELPHI7中是通过的。在DELPHI2010中将94B1转为汉字时,EDIT1的结果却显示的不是“钱”字,而是一个符号“±”,如果做如下修改
   EDIT1.TEXT:=ANSICHAR($94)+ANSICHAR($B1);
EDIT1显示的结果却是'敱',都不是“钱”字,这是什么原因?如何解决?

解决方案 »

  1.   

    谁能知道我在D2010下,如果将“钱”字的ASCII码“$94$B1”再转成“钱”字
      

  2.   

    你用个AnsiString的变量试试,EDIT.Text也是WideString类型的
      

  3.   

    另外2010里有没有wideChar类型?你也可以试试
      

  4.   

    EDIT1.TEXT:=ANSICHAR($C7)+ANSICHAR($AE);
      

  5.   

    hero_yin  你的回复解决了我的问题,原来$94$b1这个结果根本不是“钱”,是我将汉字转ASCII码时就因为STRING没改成ANSISTRING而导致结果的错误。多谢了。