TBase64Encoding.Base64.Encode(str)

TBase64Encoding.Base64.Decode(str)

注意如果str很长,base64后的结果是每76个字符自动加入一个回车换行。

所以我们再用的时候如果要去除encode后的回车的话可以这样。

TBase64Encoding.Base64.Encode(abc).Replace(sLineBreak, '', [rfReplaceAll]);

要用sLineBreak 常量,而不是#13 #10 这类,因为不同的操作系统,换行符不同;sLineBreak常量能实现跨平台;

--------------------------------------------------------

 

unit Unit4;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.NetEncoding, Vcl.StdCtrls;

type
  TForm4 = class(TForm)
    btn1: TButton;
    mmo1: TMemo;
    btn2: TButton;
    btn3: TButton;
    lbl1: TLabel;
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure btn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  abc = '我靠奥迪发啊是打飞机阿萨德飞阿萨德飞机阿萨德加咖啡安静哦无人欧安度搜福艾薇儿拉开距离竟然玩阿萨德飞机爱打架佛奥迪发阿萨德飞接口拉上京东方啊是打飞机哦呜鹅肉微软奥士大夫';

var
  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.btn1Click(Sender: TObject);
begin
  mmo1.Lines.Clear;
  mmo1.Lines.Add(TBase64Encoding.Base64.Encode(abc));
end;

procedure TForm4.btn2Click(Sender: TObject);
var
  wokao: string;
begin
  wokao := mmo1.Lines.Text;
  mmo1.Lines.Add('--------');
  mmo1.Lines.Add(TBase64Encoding.Base64.Decode(wokao));
end;

procedure TForm4.btn3Click(Sender: TObject);
begin
  mmo1.Lines.Clear;
  mmo1.Lines.Add(TBase64Encoding.Base64.Encode(abc).Replace(sLineBreak, '', [rfReplaceAll]));
end;

end.
posted on 2016-09-23 19:30  del88  阅读(7098)  评论(1编辑  收藏  举报