zoukankan      html  css  js  c++  java
  • Lazarus中Base64的操作

    在字符串处理中,我们经常需要对文件编码然后再进行传输,通常会使用base64编码,在FreePascal中默认集成了这个单元,我们来介绍如何使用:

    首先需要在引用单元的时候使用: use base64;

    1.解密加密函数

    这个函数直接对字符串进行解密、加密操作,非常简单:

    procedure TForm1.Button1Click(Sender:TObject);
    begin
      Memo1
    .Text:= EncodeStringBase64(Memo1.Text);
    end
    ;

    procedure TForm1
    .Button2Click(Sender:TObject);
    begin
      Memo1
    .Text:= DecodeStringBase64(Memo1.Text);
    end
    ;

    2.文件字节流操作

    这里直接贴出代码:

    var
      B64
    : TBase64EncodingStream;
      s
    :TFileStream;
      st
    :TSTringStream;
     
    TempStr:String;
      ccount
    : integer;
    begin
     
    if OpenDialog1.Execute then
        s
    :=TFileStream.Create(OpenDialog1.FileName,fmOpenRead)
     
    else
       
    Exit;
      st
    :=TSTringStream.Create('');
     
    try
        B64
    := TBase64EncodingStream.Create(st);
       
    try
          Memo1
    .Lines.Clear;
     
    //    B64.WriteBuffer(s, s.Size);
         
    SetLength(TempStr, s.Size);
          s
    .Read(tempStr[1], s.Size);
          ccount
    := s.Size;
          B64
    .Write(tempStr[1], ccount);
         
    ShowMessage(tempstr);
          Memo1
    .Lines.Add(st.DataString);
       
    finally
          B64
    .Free;
        end
    ;
     
    finally
        s
    .Free;
        st
    .Free;
      end
    ;    

    是不是非常简单。

  • 相关阅读:
    eclipse 报错问题:java.lang.ClassNotFoundException:
    java 根据Url下载对应的文件到指定位置,读txt文件获取url
    from表单校验插件 validate 实例
    登录注册校验方式
    微信浏览器发送ajax请求执行多次解决方法
    波哥博客Url
    常用ajax样例
    学习笔记......
    学习笔记...
    学习笔记..
  • 原文地址:https://www.cnblogs.com/China3S/p/3290329.html
Copyright © 2011-2022 走看看