如何将GB2312码转换为UTF-8,急急急(50分)

  • 主题发起人 主题发起人 zff197982
  • 开始时间 开始时间
Z

zff197982

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将GB2312码转换为UTF-8,在delphi 中使用什么函数,给个提示
 
s := UTF8Encode('中文 GB3212');
ShowMessage(S);
s := UTF8Decode(S);
ShowMessage(S);
 
http://www.delphibbs.com/keylife/iblog_show.asp?xid=14470
 
能说的具体点嘛,
s := UTF8Encode('中文 GB3212');
ShowMessage(S);
s := UTF8Decode(S);
ShowMessage(S);
UTF8Encode如何调用,
在delphi 中有转换函数嘛
 
zqw0117,你好,你提交的代码我调试了下,我想实现的是这样的功能
输入【测试数据】中文信息,经过delphi中某函数编译后生成UTF-8编码。
你给的这段代码
s := UTF8Encode('中文 GB3212');
ShowMessage(S);
输入【测试数据】后显示的是一行乱码,我想其显示的是以
%e6%b5%8b%e8%af%95%e6%95%b0%e6%8d%a形式显示的内容,怎么做啊
 
zqw0117谢谢你的提示,能否加你为好友,我的qq号码为16027599[:)]
 
function URLDecode(psSrc: string): string;
var
i: Integer;
ESC: string[2];
CharCode: integer;
begin
Result := ''; { do not localize }
psSrc := StringReplace(psSrc, '+', ' ', [rfReplaceAll]); {do not localize}
i := 1;
while i <= Length(psSrc) do
begin
if psSrc <> '%' then { do not localize }
begin {do not localize}
Result := Result + psSrc
end
else
begin
Inc(i);
ESC := Copy(psSrc, i, 2);
Inc(i, 1);
try
CharCode := StrToInt('$' + ESC); {do not localize}
if (CharCode > 0) and (CharCode < 256) then
Result := Result + Char(CharCode);
except
end;
end;
Inc(i);
end;
end;

function URLEncode(const psSrc: string): string;
const
UnsafeChars = ' *#%<>'; {do not localize}
var
i: Integer;
begin
Result := ''; { do not localize }
for i := 1 to Length(psSrc) do
begin
if (Pos(psSrc, UnsafeChars) > 0) or (psSrc >= #$80) then
begin
Result := Result + '%' + IntToHex(Ord(psSrc), 2); {do not localize}
end
else
begin
Result := Result + psSrc;
end;
end;
end;
 
后退
顶部