|
///////////////////////////////////////////// function TXml.getValue(str: string): string;//传入的UTF8字符串 var s: string; begin if FBase64 then begin s := TNetEncoding.Base64.EncodeBytesToString(TEncoding.ANSI.GetBytes(str)); s := s.Replace(#13#10,''); Result := s;//输出UTF8转GBK后的base64字符串 end else Result := str; end; /////////////////////////////////////////////////////// function AnsiBase64Encode(s : string) : string; //传入的UTF8字符串 var base64 : TIdEncoderMIME; tmpBytes : TBytes; begin base64 := TIdEncoderMIME.Create(nil); try base64.FillChar := '='; tmpBytes := TEncoding.ANSI.GetBytes(s); Result := base64.EncodeBytes(TIdBytes(tmpBytes)); //Delphi默认加密会78个字符进行换行,后者过滤掉换行//Result := base64.EncodeBytes(TIdBytes(tmpBytes)).Replace(sLineBreak, '', [rfReplaceAll]); finally base64.Free; end; end;
function TXml.getValue(str: string): string;//传入的UTF8字符串 var s: string; begin if FBase64 then begin s := AnsiBase64Encode(str); s := s.Replace(#13#10,''); Result := s;//输出UTF8转GBK后的base64字符串 end else Result := str; end;
作者:疯狂Delphi
出处:https://www.cnblogs.com/FKdelphi/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
来源:https://www.cnblogs.com/FKdelphi/p/17308356.html |