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中tstringlist分割字符串的用法

Delphi 汉字转十六进制的函数,可以互转不乱码

Delphi 更改消息对话框中的按钮标题

Delphi query1 导出csv txt

Delphi中禁止webbrowser右键的方法

Delphi 枚举resource资源名

Delphi wm_copydata 用法

Delphi两个取字串长度的函数strlen,length

Delphi 移动windows开始按钮到任务栏中的任何位置

Delphi 10中实现android的广播接收器

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



打赏

取消

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

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

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

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

评论

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