delphi2010下汉字与ASCII码之间的转换问题

卡卡西 2013-03-18 03:03:34
例如“钱”字转为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显示的结果却是'敱',都不是“钱”字,这是什么原因?如何解决?
...全文
620 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
卡卡西 2013-03-18
  • 打赏
  • 举报
回复
hero_yin 你的回复解决了我的问题,原来$94$b1这个结果根本不是“钱”,是我将汉字转ASCII码时就因为STRING没改成ANSISTRING而导致结果的错误。多谢了。
hero_yin 2013-03-18
  • 打赏
  • 举报
回复
EDIT1.TEXT:=ANSICHAR($C7)+ANSICHAR($AE);
luxuewei5214 2013-03-18
  • 打赏
  • 举报
回复
另外2010里有没有wideChar类型?你也可以试试
luxuewei5214 2013-03-18
  • 打赏
  • 举报
回复
你用个AnsiString的变量试试,EDIT.Text也是WideString类型的
卡卡西 2013-03-18
  • 打赏
  • 举报
回复
谁能知道我在D2010下,如果将“钱”字的ASCII码“$94$B1”再转成“钱”字

16,746

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧