memortstream Base64编码和filestream base64编码不同
2024-09-04 15:29:54
memorystream base64
function
BaseImage(fn:
string
):
string
;
var
m1: TMemoryStream;
m2: TStringStream;
str:
string
;
begin
m1 := TMemoryStream
.
Create;
m2 := TStringStream
.
Create;
m1
.
LoadFromFile(fn);
EncdDecd
.
EncodeStream(m1, m2);
// 将m1的内容Base64到m2中
str := m2
.
DataString;
str := StringReplace(str, #
13
,
''
, [rfReplaceAll]);
// 这里m2中数据会自动添加回车换行,所以需要将回车换行替换成空字符
str := StringReplace(str, #
10
,
''
, [rfReplaceAll]);
result := str;
// 返回值为Base64的Stream
m1
.
Free;
m2
.
Free;
end
;
filestream base64
需要uses IdCoderMIME;
function TForm1.Base64E(Path: string): string;
var
filepath: string;
filestream: TFileStream;
EncoderMIME: TIdEncoderMIME;
encode_result: string;
begin
EncoderMIME := TIdEncoderMIME.Create(self);
filestream := TFileStream.Create(Path, fmOpenRead);
result := EncoderMIME.Encode(filestream);
filestream.Free;
end;
最新文章
- SQL SERVER 的模糊查询 LIKE
- Android学习
- javascript获取当前时间
- ASP.NET杂谈-一切都从web.config说起(2)(ConfigSections详解-下)
- 刚开始学IOS遇到的类和方法
- 自适应游标共享技术02(一个简单的例子来走近ACS)
- input 即时搜索 监听输入值的变化
- mysql基础篇-----mysql简介
- (译)JToken的层次结构
- Gradle 1.12用户指南翻译——第四十四章. 分发插件
- Flask 单元测试 unittest
- Z-Stack - Modification of Zigbee Device Object for better network access management
- Android--Loaders
- RedHat Linux关闭防火墙的命令
- 洗礼灵魂,修炼python(32)--面向对象编程(2)—进一步认识类
- jconsole使用
- Sql中EXISTS与IN的使用及效率
- eclipse egit(版本回退)
- javase中javax源码下载地址
- C++:复制构造函数
热门文章
- centos将celery写入系统服务
- PullToRefreshScrollView刷新图标和字体的设定
- vue-cli 手脚架mock虚拟数据的运用,特别是坑!!!
- Linux centosVMware运行告警系统、分发系统-expect讲解、自动远程登录后,执行命令并退出、expect脚本传递参数、expect脚本同步文件、指定host和要同步的文件、shell项目-分发系统-构建文件分发系统、分发系统-命令批量执行
- SRS命令
- ServletContext简介
- 一个基础又很重要的知识点:JDBC原理(基本案例和面试知识点)
- 【剑指Offer面试编程题】题目1523:从上往下打印二叉树--九度OJ
- json object string互转
- Javaweb实现简单的选课系统(主要技术包括jsp、Servlet、Javabean)