全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1387
推到 Plurk!
推到 Facebook!

請問Delphi7如何將中文轉換成Unicode

答題得分者是:GrandRURU
ginochen
一般會員


發表:9
回覆:14
積分:4
註冊:2005-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2021-02-05 17:12:54 IP:125.227.xxx.xxx 未訂閱
各位前輩好,如題所示,我在網路上有找到將中文轉換為Unicode的function,請問是否有反向轉換的function可以提供,謝謝

例如: "\ u53f0\ u7063"轉成字元為"台灣",那如何將"台灣"轉成Unicode?(即可得到"\ u53f0\ u7063" 的結果)
類似這個網站的功能->https://www.ifreesite.com/unicode-ascii-ansi.htm
編輯記錄
ginochen 重新編輯於 2021-02-08 12:50:27, 註解 無‧
ginochen 重新編輯於 2021-02-08 12:55:26, 註解 無‧
ginochen 重新編輯於 2021-02-08 12:57:45, 註解 無‧
ginochen 重新編輯於 2021-02-08 13:11:49, 註解 無‧
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2023-05-09 16:39:09 IP:59.120.xxx.xxx 未訂閱
您好!將中文轉換為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;

希望對您有所幫助!


系統時間:2024-04-30 13:10:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!