Tre*_*vor 3 delphi string binary base64 file
我有一个64基本编码的字符串,其中包含PDF文件数据.
使用EncdDecd命名空间我可以将字符串解码为字节数组.
这是我遇到麻烦的地方,我尝试将字符保存到字符串但是一旦它达到空值(ascii = 0),字符串就不再附加..
示例
var
EncodedString:String;
报告:字符串;
Base64Bytes:TBytes; //包含二进制数据
begin
Base64Bytes := DecodeBase64(EncodedString);
for I := 0 to Length(Base64Bytes) - 1 do
begin
Report := Report + Chr(Base64Bytes[I]);
end;
end;
写入文本文件似乎更好,但在将其重命名为pdf后,它无法正确打开.
如何在delphi中写入二进制文件?甚至将数据保存到流中?
基本上我只是尝试获取编码的字符串并将其保存为pdf文件,或在delphi中显示pdf.
谢谢
PS
我已经看了很多,并找到了一个可能的解决方案 使用Delphi 2007将Base64字符串保存为磁盘作为二进制文件,但还有另一种方法吗?
这应该这样做:
procedure DecodeBaseToFile(const FileName: string;
const EncodedString: AnsiString);
var
bytes: TBytes;
Stream: TFileStream;
begin
bytes := DecodeBase64(EncodedString);
Stream := TFileStream.Create(FileName, fmCreate);
try
if bytes<>nil then
Stream.WriteBuffer(bytes[0], Length(bytes));
finally
Stream.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
注意:我只是在脑海中编译了这个.
| 归档时间: |
|
| 查看次数: |
3323 次 |
| 最近记录: |