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;

  

 

最新文章

  1. 我的c++学习(10)this指针
  2. c#事件机制
  3. C#中combobox不可编辑与不可选择
  4. Java 并发-访问量
  5. iOS 证书及配置文件介绍
  6. 第六篇 Replication:合并复制-发布
  7. C#其他
  8. wordpress无法安装这个包。: PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'C:\WINDOWS\TEMP/wordpress-4.tmp'
  9. ipv4头部分析,读书笔记3
  10. Oracle查询银行卡数、修改余额及验证登录
  11. Scrum中的User Story
  12. RabbitMQ 原文译1.2--"Hello Word"
  13. C#自定义的命名空间引用
  14. 重写equal要重写 hashCode的原因
  15. HTTP使用BASIC认证的原理及实现方法(还有NTLM方法,比较复杂)
  16. java学习之线程池的实现
  17. 区块链入门(2):搭建以太坊私有链(private network of ethereum),以及挖矿的操作..
  18. 多个 (li) 标签如何获取获取选中的里面的某个特定值??
  19. [LeetCode] 24 Game 二十四点游戏
  20. 【开发工具之Spring Tool Suite】6、用Spring Tool Suite简化你的开发

热门文章

  1. 【总结】web工作代码分类整理(持续更新)
  2. AF step、Bokeh等说明
  3. Android 8.0编译过程
  4. kbmmw 中的Boyer-Moore算法
  5. Python学习日记(四十二) Mysql数据库篇 十
  6. 记录一次Oracle创建DBLink踩到小坑
  7. PHP实现Redis单据锁,防止并发重复写入
  8. 如何将Android的AOSP仓库放置到自己的gitlab服务器上?
  9. php72w-common conflicts with php-common-5.4.16-46.el7.x86_64
  10. 201671010404+陈润菊 实验十四 团队项目评审课程&学习总结