zoukankan      html  css  js  c++  java
  • INDY10 BASE64编码

    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;
    

      

     

  • 相关阅读:
    如何用命令将本地项目上传到github
    Mysql基本命令一
    Mysql基本命令二
    PDO操作数据库
    PHP分页
    JQuery中$.ajax()方法参数详解
    基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
    IE浏览器兼容问题
    购物车的实现方式
    JS学习之路
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/11904909.html
Copyright © 2011-2022 走看看