如何将任何类型的文件编码为base64字符串,然后使用Lazarus/Delphi再次将其解码为文件?

如何将任何类型的文件编码为base64字符串,然后使用Lazarus/Delphi再次将其解码为文件?,delphi,serialization,base64,freepascal,lazarus,Delphi,Serialization,Base64,Freepascal,Lazarus,你能告诉我怎么做吗?有没有任何Freepascal装置可以帮我做这件事?我需要它,以便我的程序能够以基于XML的文件格式存储二进制数据。使用该单元及其两个类,TBASE64编码流和TBASE64解码流 以下是一份: 在下列情况下: 或简写和(2.4.4+)对于非基于流的使用: Uses Base64; var s : AnsiString; Begin s:=EncodeStringBase64('Hello world!'); Writeln('Encoded : ',s);

你能告诉我怎么做吗?有没有任何Freepascal装置可以帮我做这件事?我需要它,以便我的程序能够以基于XML的文件格式存储二进制数据。

使用该单元及其两个类,
TBASE64编码流
TBASE64解码流

以下是一份:

在下列情况下:

或简写和(2.4.4+)对于非基于流的使用:

Uses Base64;
var 
   s : AnsiString;
Begin
  s:=EncodeStringBase64('Hello world!');
  Writeln('Encoded : ',s);
  s:=DecodeStringBase64(s);
  Writeln('Decoded again : ',s);    
end.
使用该单元及其两个类,
tbase64编码流
tbase64解码流

以下是一份:

在下列情况下:

或简写和(2.4.4+)对于非基于流的使用:

Uses Base64;
var 
   s : AnsiString;
Begin
  s:=EncodeStringBase64('Hello world!');
  Writeln('Encoded : ',s);
  s:=DecodeStringBase64(s);
  Writeln('Decoded again : ',s);    
end.

“Uwe的复制品在FPC里有吗?”大卫,因为我没有拉扎勒斯,我不知道。这就是我写“可能”的原因。“Uwe”的可能副本在FPC中有吗?@David,因为我没有Lazarus,我不知道。这就是我写“可能”的原因。是的,它可以处理任何形式的流。这就是使它基于流的真正意义所在。顺便说一句,从2.4.4开始,该单元中还有两个简单的帮助函数,用于流包装,以便于使用。@marco谢谢。我认为如果你这么好的话,这是值得一个回答的。一个极好且清晰的回答!我试图自己找到这些信息,却偶然发现了这一点。谢谢你也包括了非流方法,因为这是我需要使用的。是的,它可以用于任何形式的流。这就是使它基于流的真正意义所在。顺便说一句,从2.4.4开始,该单元中还有两个简单的帮助函数,用于流包装,以便于使用。@marco谢谢。我认为如果你这么好的话,这是值得一个回答的。一个极好且清晰的回答!我试图自己找到这些信息,却偶然发现了这一点。感谢您也包括了非流方法,因为这是我需要使用的。
Uses Base64;
var 
   s : AnsiString;
Begin
  s:=EncodeStringBase64('Hello world!');
  Writeln('Encoded : ',s);
  s:=DecodeStringBase64(s);
  Writeln('Decoded again : ',s);    
end.