例如“錢”字轉為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碼是計算機和人類的中間編碼,從計算機最基本的二進制編碼 轉換為 人類更容易閱讀的編碼就要從這個中間碼開始。