請問Delphi7如何將中文轉換成Unicode |
答題得分者是:GrandRURU
|
ginochen
一般會員 發表:9 回覆:14 積分:4 註冊:2005-02-17 發送簡訊給我 |
各位前輩好,如題所示,我在網路上有找到將中文轉換為Unicode的function,請問是否有反向轉換的function可以提供,謝謝
例如: "\ u53f0\ u7063"轉成字元為"台灣",那如何將"台灣"轉成Unicode?(即可得到"\ u53f0\ u7063" 的結果) 類似這個網站的功能->https://www.ifreesite.com/unicode-ascii-ansi.htm |
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
您好!將中文轉換為Unicode的過程中,實際上是將中文字符轉換為其對應的Unicode碼點,然後在前面加上"\u",因此將Unicode轉換為中文字符的過程就是將這些Unicode碼點轉換為對應的中文字符。
在Delphi中,您可以使用以下代碼將Unicode轉換為中文字符: function UnicodeToChar(const AUnicode: string): string; var i: Integer; Code: Integer; begin Result := ''; i := 1; while i <= Length(AUnicode) do begin if (AUnicode[i] = '\') and (i < Length(AUnicode)) and (AUnicode[i 1] = 'u') then begin Delete(AUnicode, i, 2); Code := StrToInt('$' Copy(AUnicode, i, 4)); Result := Result Char(Code); Delete(AUnicode, i, 4); end else begin Result := Result AUnicode[i]; Inc(i); end; end; end; 這個函數將會處理您提供的Unicode字串,並將其中的每個Unicode碼點轉換為對應的中文字符。使用方式如下: var UnicodeStr, CharStr: string; begin UnicodeStr := '台灣'; CharStr := UnicodeToChar(UnicodeStr); ShowMessage(CharStr); // 顯示 "台灣" end;希望對您有所幫助! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |