BASE64 官方方法,我自己用的,注意记住换行问题。
Posted 不能富贵难成大器皆因懒, 胸无大志庸庸碌碌只为闲。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 是按行读取的。有换行则会被截断。
以上是关于BASE64 官方方法,我自己用的,注意记住换行问题。的主要内容,如果未能解决你的问题,请参考以下文章
Java Base64加码解码 Base64.encodeBase64 ( ) 和 new BASE64Enccoder( ).encode( )区别
Java里,,啥是二进制? 啥是base64?他们有啥区别?