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

基礎問題(關於中文字碼問題)

尚未結案
b1972305
一般會員


發表:2
回覆:1
積分:0
註冊:2003-10-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-26 23:58:32 IP:61.219.xxx.xxx 未訂閱
問題一.當我使用length(s)取得字串的長度時如果字串是英文(ex.s:='abc')所 得到的長度會是3那如果字串是中文的話(ex.s:='中文字')那所得到的長 度則是6 這是因為中文字碼筆英文字碼多站一個位元的關係嗎 問題二.當把字串當成陣列時(ex.s[1]這個位址再字串是英文的時候會得到正確的結果,如果是中文字碼的話s[1]會是空白的或是亂碼必須要輸入S[2]這個位址才會是中文字碼)如問題二所述應該怎嗎使用才正確呢 其實我的問題是當要取得一個中文字碼的長度時應該要如何使用呢 當我要表示要取得一個中文字串中的某一個字時又該如何表示呢 謝謝(問題問的不好還請多多包含---剛剛貼錯位置抱歉)
speedup
資深會員


發表:19
回覆:259
積分:280
註冊:2003-07-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-27 09:38:40 IP:61.224.xxx.xxx 未訂閱
1.使用Unicode在Delphi中的型態分別為 WideString 字串 WideChar字元  
var s1,s2:WideString;
    c1,c2:WideChar;
    i:integer;
begin
  s1 := 'English';
  s2 := '中文字串';
  for i := 1 to Length(s1) do
  begin
   c1:=s1[i];
   Showmessage(c1);
  end;
  for i := 1 to Length(s2) do
  begin
   c2:=s2[i];
   Showmessage(c2);
  end;    end;
 
2.利用DBCS API 判斷 若仍執意要處理DBCS字串(即string格式英文1char 中文2char) 可用IsDBCSLeadByte() 判斷該字元是否為中文前導字元 混心雜欲 棄修身~唉
------
唉~
b1972305
一般會員


發表:2
回覆:1
積分:0
註冊:2003-10-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-29 10:47:04 IP:61.219.xxx.xxx 未訂閱
謝謝你的回答 我了解了 謝謝
系統時間:2024-06-23 10:41:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!