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