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


例如“钱”字转为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显示的结果却是'敱',都不是“钱”字,这是什么原因?如何解决?

全文:http://bbs.csdn.net/topics/390395991

 

//他这个提问根 中文转unicode编码有点像。

chr()是把数字转换成字符
ord()是把字符转换成数字

换句话讲,将unicode编码的4位数字 转 字符 再结合就是 汉字了??????

 

chr()是把ASCII码值转换成字符 //也就是说ord是将字符转为ascii码.
char()是强制类型转换

问:其实两个ascii码结合就是一个unicode编码。拆开后用chr()转为中文????我这样想正确吗???


之后我作出了判断和实验:

http://tool.chinaz.com/tools/unicode.aspx //输入“我”字转unicode编码是:\u6211
之后在网页-》http://www.qqxiuzi.cn/bianma/ascii.htm 输入“我”字转ascii码是:25105
这个25105是10进制编码,将其换为16进制就是6211,所以,我们可以这样理解:unicode编码就是ascii编码。

而我个人理解就是ascii码是计算机和人类的中间编码,从计算机最基本的二进制编码 转换为 人类更容易阅读的编码就要从这个中间码开始。









免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM