
TBase64Encoding.Base64.Encode(str)
TBase64Encoding.Base64.Decode(str)
注意如果str很长,base64后的结果是每76个字符自动加入一个回车换行。
所以我们再用的时候如果要去除encode后的回车的话可以这样。
TBase64Encoding.Base64.Encode(abc).Replace(sLineBreak, '', [rfReplaceAll]);
--------------------------------------------------------
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.
惨痛的经历如下:ini.readstring 是按行读取的。有换行则会被截断。