本文整理自网络,侵删。
function UniCodetoGBK(S : String):String;
Var
I,j: Integer;
str,ps,regmsg: string;
reg: TPerlRegEx;
begin
try
reg := TPerlRegEx.Create(nil);
regmsg := '\\u[A-Za-z0-9]{4}';
reg.RegEx := regmsg;
reg.Subject := s;
while reg.MatchAgain do
begin
ps := reg.MatchedExpression;
Delete(ps,1,1);
if (Trim(ps) <> '') and (Pos('u',ps) = 1) then
begin
I := Length(ps);
while I >=4 do
begin
str := WideChar(StrToInt('$'+ps[I-3]+ps[I-2]+ps[I-1]+ps[I]));
I := I - 4;
end;
reg.Replacement := str;
reg.Replace;
end;
end;
Result := reg.Subject;
reg.Free;
except
reg.Free;
end;
end;
相关阅读 >>
Delphi屏蔽win、ctrl_esc、alt_tab、alt_f4等键(windows xp、windows 2003 server下测试通过)
Delphi中combobox.items.indexof用法
Delphi api 函数中使用 pchar 参数的几种方法
更多相关阅读请进入《Delphi》频道 >>