INDY10 BASE64编码
2024-10-16 07:05:56
INDY10 BASE64编码
DELPHI自带的BASE64单元,在项目中使用发现非常没有效率,INDY10的好用。
uses IdCoderMIME
BASE64编码类:TIdEncoderMIME
BASE64编码接口
type
TIdEncoder = class(TIdBaseComponent)
public
function Encode(const AIn: string; AByteEncoding: IIdTextEncoding = nil
{$IFDEF STRING_IS_ANSI}; ASrcEncoding: IIdTextEncoding = nil{$ENDIF}
): string; overload;
procedure Encode(const AIn: string; ADestStrings: TStrings; AByteEncoding: IIdTextEncoding = nil
{$IFDEF STRING_IS_ANSI}; ASrcEncoding: IIdTextEncoding = nil{$ENDIF}
); overload;
procedure Encode(const AIn: string; ADestStream: TStream; AByteEncoding: IIdTextEncoding = nil
{$IFDEF STRING_IS_ANSI}; ASrcEncoding: IIdTextEncoding = nil{$ENDIF}
); overload; function Encode(ASrcStream: TStream; const ABytes: Integer = -1): string; overload;
procedure Encode(ASrcStream: TStream; ADestStrings: TStrings; const ABytes: Integer = -1); overload;
procedure Encode(ASrcStream: TStream; ADestStream: TStream; const ABytes: Integer = -1); overload; virtual; abstract; class function EncodeString(const AIn: string; AByteEncoding: IIdTextEncoding = nil
{$IFDEF STRING_IS_ANSI}; ASrcEncoding: IIdTextEncoding = nil{$ENDIF}
): string; overload;
class procedure EncodeString(const AIn: string; ADestStrings: TStrings;
AByteEncoding: IIdTextEncoding = nil
{$IFDEF STRING_IS_ANSI}; ASrcEncoding: IIdTextEncoding = nil{$ENDIF}
); overload;
class procedure EncodeString(const AIn: string; ADestStream: TStream;
AByteEncoding: IIdTextEncoding = nil
{$IFDEF STRING_IS_ANSI}; ASrcEncoding: IIdTextEncoding = nil{$ENDIF}
); overload; class function EncodeBytes(const ABytes: TIdBytes): string; overload;
class procedure EncodeBytes(const ABytes: TIdBytes; ADestStrings: TStrings); overload;
class procedure EncodeBytes(const ABytes: TIdBytes; ADestStream: TStream); overload; class function EncodeStream(ASrcStream: TStream; const ABytes: Integer = -1): string; overload;
class procedure EncodeStream(ASrcStream: TStream; ADestStrings: TStrings; const ABytes: Integer = -1); overload;
class procedure EncodeStream(ASrcStream: TStream; ADestStream: TStream; const ABytes: Integer = -1); overload;
end;
BASE64解码类:TIdDecoderMIME
解码接口
TIdDecoder = class(TIdBaseComponent)
protected
FStream: TStream;
public
procedure DecodeBegin(ADestStream: TStream); virtual;
procedure DecodeEnd; virtual; procedure Decode(const AIn: string); overload;
procedure Decode(ASrcStream: TStream; const ABytes: Integer = -1); overload; virtual; abstract; class function DecodeString(const AIn: string; AByteEncoding: IIdTextEncoding = nil
{$IFDEF STRING_IS_ANSI}; ADestEncoding: IIdTextEncoding = nil{$ENDIF}
): string;
class function DecodeBytes(const AIn: string): TIdBytes;
class procedure DecodeStream(const AIn: string; ADestStream: TStream);
end;
最新文章
- 我的c++学习(10)this指针
- c#事件机制
- C#中combobox不可编辑与不可选择
- Java 并发-访问量
- iOS 证书及配置文件介绍
- 第六篇 Replication:合并复制-发布
- C#其他
- wordpress无法安装这个包。: PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'C:\WINDOWS\TEMP/wordpress-4.tmp'
- ipv4头部分析,读书笔记3
- Oracle查询银行卡数、修改余额及验证登录
- Scrum中的User Story
- RabbitMQ 原文译1.2--";Hello Word";
- C#自定义的命名空间引用
- 重写equal要重写 hashCode的原因
- HTTP使用BASIC认证的原理及实现方法(还有NTLM方法,比较复杂)
- java学习之线程池的实现
- 区块链入门(2):搭建以太坊私有链(private network of ethereum),以及挖矿的操作..
- 多个 (li) 标签如何获取获取选中的里面的某个特定值??
- [LeetCode] 24 Game 二十四点游戏
- 【开发工具之Spring Tool Suite】6、用Spring Tool Suite简化你的开发
热门文章
- 【总结】web工作代码分类整理(持续更新)
- AF step、Bokeh等说明
- Android 8.0编译过程
- kbmmw 中的Boyer-Moore算法
- Python学习日记(四十二) Mysql数据库篇 十
- 记录一次Oracle创建DBLink踩到小坑
- PHP实现Redis单据锁,防止并发重复写入
- 如何将Android的AOSP仓库放置到自己的gitlab服务器上?
- php72w-common conflicts with php-common-5.4.16-46.el7.x86_64
- 201671010404+陈润菊 实验十四 团队项目评审课程&;学习总结