日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

base64

發布時間:2023/11/27 生活经验 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 base64 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

uses jpeg,EncdDecd,ZLibEx

//字符串base64 編碼
Function StrtoBase64(const Str:string):string;
begin
?result:=EncodeString(Str);
end;
//字符串base64 ?解碼
Function Base64toStr(const Base64:string):string;
begin
?result:=DecodeString(base64);
end;
//Jpeg base64 ?編碼
Function JpegToBase64(Jpeg : Tjpegimage):string;
var
? jpegstream : TMemoryStream;
? StrStream ?: TStringStream;
begin
? jpegstream :=TMemoryStream.Create;
? StrStream ?:=TStringStream.Create('');
? jpeg.SaveToStream(jpegstream);
? jpegstream.Position:=0;
? EncodeStream(Jpegstream,strstream);
? result:=strstream.DataString;
? jpegstream.Free;
? strstream.Free;
end;
//Jpeg base64 ?解碼
Function Base64ToJpeg(str: string):TJpegimage;
var
? jpegstream : TMemoryStream;
? StrStream ?: TStringStream;
begin
? jpegstream :=TMemoryStream.Create;
? StrStream ?:=TStringStream.Create(str);
? DecodeStream(StrStream,JpegStream);
? JpegStream.Position:=0;
? result:=TJpegimage.Create;
? result.LoadFromStream(JpegStream);
? jpegstream.Free;
? strstream.Free;
?
end;

?

///將Bitmap位圖轉化為base64字符串
function?BitmapToString(img:TBitmap):string?;
var
??ms:TMemoryStream;
??ss:TStringStream;
??s:
string;
begin
????ms?:
=?TMemoryStream.Create;
????img.SaveToStream(ms);
????ss?:
=?TStringStream.Create('');
????ms.Position:
=0;
????EncodeStream(ms,ss);
//將內存流編碼為base64字符流
????s:
=ss.DataString;
????ms.Free;
????ss.Free;
????result:
=s;?
end;

///將base64字符串轉化為Bitmap位圖
function?StringToBitmap(imgStr:string):TBitmap;
var?ss:TStringStream;
????ms:TMemoryStream;
????bitmap:TBitmap;
begin
????ss?:
=?TStringStream.Create(imgStr);
????ms?:
=?TMemoryStream.Create;
????DecodeStream(ss,ms);
//將base64字符流還原為內存流
????ms.Position:
=0;
????bitmap?:
=?TBitmap.Create;
????bitmap.LoadFromStream(ms);
????ss.Free;
????ms.Free;
????result?:
=bitmap;
end;

function CompressStrToBase64(sStr: string): string;
var
? M1: TMemoryStream;
? M0, M2: TStringStream;
begin
? Result := '';
? if sStr = '' then
??? Exit;
? M0 := TStringStream.Create(sStr);
? M1 := TMemoryStream.Create;
? M2 := TStringStream.Create(' ');
? try
??? M0.Position := 0;
??? M1.Position := 0;
??? ZCompressStream(M0, M1);
??? M1.Position := 0;
??? M2.Position := 0;
??? EncodeStream(M1, M2);
??? Result := M2.DataString;
? finally
??? FreeAndNil(M0);
??? FreeAndNil(M1);
??? FreeAndNil(M2);
? end;
end;

function DeCompressBase64ToStr(sStr: string): string;
var
? M0, M1: TStringStream;
? M2: TMemoryStream;
begin
? Result := '';
? if sStr = '' then
??? Exit;
? M0 := TStringStream.Create;
? M1 := TStringStream.Create(sStr);
? M2 := TMemoryStream.Create;
? try
??? M1.Position := 0;
??? M2.Position := 0;
??? DeCodeStream(M1, M2);
??? M0.Position := 0;
??? M2.Position := 0;
??? ZDecompressStream(M2, M0);
??? Result := M0.DataString;
? finally
??? FreeAndNil(M0);
??? FreeAndNil(M2);
??? FreeAndNil(M1);
? end;
end;


?

轉載于:https://www.cnblogs.com/hnxxcxg/archive/2011/08/14/2940595.html

總結

以上是生活随笔為你收集整理的base64的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。