URL 인코딩(Encoding) 함수
델파이2008. 6. 25. 09:20
function HTTPEncode(const AStr: string): string;
const
NoConversion = ['A'..'Z', 'a'..'z', '*', '@', '.', '_', '-'];
var
Sp, Rp: PChar;
begin
SetLength(Result, Length(AStr) * 3);
Sp := PChar(AStr);
Rp := PChar(Result);
while Sp^ <> #0 do
begin
if Sp^ in NoConversion then
Rp^ := Sp^
else if Sp^ = ' ' then
Rp^ := '+'
else
begin
FormatBuf(Rp^, 3, '%%%.2x', 6, [Ord(Sp^)]);
Inc(Rp, 2);
end;
Inc(Rp);
Inc(Sp);
end;
SetLength(Result, Rp - PChar(Result));
end;
const
NoConversion = ['A'..'Z', 'a'..'z', '*', '@', '.', '_', '-'];
var
Sp, Rp: PChar;
begin
SetLength(Result, Length(AStr) * 3);
Sp := PChar(AStr);
Rp := PChar(Result);
while Sp^ <> #0 do
begin
if Sp^ in NoConversion then
Rp^ := Sp^
else if Sp^ = ' ' then
Rp^ := '+'
else
begin
FormatBuf(Rp^, 3, '%%%.2x', 6, [Ord(Sp^)]);
Inc(Rp, 2);
end;
Inc(Rp);
Inc(Sp);
end;
SetLength(Result, Rp - PChar(Result));
end;
'델파이' 카테고리의 다른 글
Delphi 2007에서 DSPack 설치하기 (0) | 2008.09.24 |
---|---|
Internet Explorer7 에서 현재 활성화 되있는 탭윈도우 핸들 얻기 (0) | 2008.08.28 |
Delphi로 ActiveX 제작시 DAX 에러나는 문제 해결법 (0) | 2008.08.07 |
인터넷에서 파일 다운로드 하기 (0) | 2008.07.17 |
ActiveX에서 IWebBrowser2(브라우저 포인터) 얻기 (0) | 2008.07.16 |
문자열을 MD5로 변환하는 유닛 (0) | 2008.06.09 |
문자가 한글이지 확인하는 법 (0) | 2008.05.28 |
작업표시줄(Taskbar)에서 프로그램 탭(?) 숨기기 (0) | 2008.05.23 |
윈도우 버전 구하는 함수 (0) | 2008.05.21 |
에디트(TEdit)나 콤보박스(TComboBox, TComboBoxEx)에서 자동완성 기능 넣기 (0) | 2008.05.21 |