BASE64 官方方法,我自己用的,注意記住換行問題。


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 是按行讀取的。有換行則會被截斷。

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM