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.
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/p/5901437.html