delphi unicode 转 gbk


本文整理自网络,侵删。

 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 如何把字符串覆给数组

Delphi url 中文编解码

Delphi settimer 功能:定时api

Delphi 动态修改exe文件的图标

Delphi屏蔽win、ctrl_esc、alt_tab、alt_f4等键(windows xp、windows 2003 server下测试通过)

Delphi消息发送字符串

Delphi 熊猫烧香核心源码

Delphi中combobox.items.indexof用法

Delphi api 函数中使用 pchar 参数的几种方法

Delphi-xe5-开发 android uri简介

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...