Delphi 6 如何產生 URLEncode的編碼 |
答題得分者是:小傑克
|
northpenguin
一般會員 發表:4 回覆:5 積分:1 註冊:2003-10-13 發送簡訊給我 |
如標題
我要將"測試"這兩個中文字轉成"測試" 這是用.Net (System.Web.HttpUtility.Encode) 而不是"´ú¸Õ"這好像只是轉成UTF-8 請大大們幫小弟一下吧 另外 TIdURI.URLEncode我是真的不會用 uses IdURI; ... AURIStr:= TIDURI.URLEncode( '測試'); 編譯時期就出現錯誤 錯誤訊息:[Error] MainFormV2.pas(512): Undeclared identifier: 'TIdURL' 若是用以下的方式也是會出現錯誤 AURIStr:= URLEncode( '測試'); |
小傑克
資深會員 發表:5 回覆:209 積分:357 註冊:2009-02-16 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject);
function PathEncode(const ASrc: string): string; const UnsafeChars = ['*', '#', '%', '<', '>', ' ', ' ']; {do not localize} var i: Integer; begin Result := ''; {Do not Localize} for i := 1 to Length(ASrc) do begin if (ASrc[i] in UnsafeChars) or (ASrc[i] >= #$80) or (ASrc[1] < #32) then begin Result := Result '%' IntToHex(Ord(ASrc[i]), 2); {do not localize} end else begin Result := Result ASrc[i]; end; end; end; begin Caption := PathEncode(AnsiToUtf8('測試')); end; 這樣就可以得到你要的"測試" function PathEncode 我是從TIdURI 裡面剪出來的 , 你用 URL.URLEncode('測試') 會錯誤 是因為你傳入的資料沒有包含" http:// " 詳細內容你可以追蹤到unit IdURI 去看
------
額有朝天骨,眼中有靈光
編輯記錄
小傑克 重新編輯於 2009-02-26 15:53:01, 註解 無‧
|
northpenguin
一般會員 發表:4 回覆:5 積分:1 註冊:2003-10-13 發送簡訊給我 |
|
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |