例如“钱”字转为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码是计算机和人类的中间编码,从计算机最基本的二进制编码 转换为 人类更容易阅读的编码就要从这个中间码开始。
请发表评论