Delphi 删除编码的base64字符串的新行字符

Delphi 删除编码的base64字符串的新行字符,delphi,freepascal,lazarus,Delphi,Freepascal,Lazarus,无法删除编码的base64字符串的新行字符 由于使用了CRYPT_STRING_NOCRLF,但Windows Server 2003和Windows XP不支持它,如何在不使用CRYPT_STRING_NOCRLF的情况下在Windows XP和2003中获得所需的结果 这不就是为了做到这一点吗: uses StrUtils; Procedure TForm1.Button1Click(Sender: TObject); var sLen : Cardinal; temp : Str

无法删除编码的base64字符串的新行字符

由于使用了CRYPT_STRING_NOCRLF,但Windows Server 2003和Windows XP不支持它,如何在不使用CRYPT_STRING_NOCRLF的情况下在Windows XP和2003中获得所需的结果


这不就是为了做到这一点吗:

uses StrUtils;

Procedure TForm1.Button1Click(Sender: TObject);
var
  sLen : Cardinal;
  temp : String;
  a : Array[0..1] of Byte = ($00,$00);
Begin
  CryptBinaryToStringA(@a[0],Length(a),CRYPT_STRING_BASE64 Or CRYPT_STRING_NOCRLF,nil,@sLen);
  SetLength(temp,sLen);
  CryptBinaryToStringA(@a[0],Length(a),CRYPT_STRING_BASE64 Or CRYPT_STRING_NOCRLF ,@temp[1],@sLen);
  temp:=StrReplace(temp,#13#10,'');
  ShowMessage(temp);
end;
即,用空字符串替换CR/LF对,以将其从输出字符串中移除

uses StrUtils;

Procedure TForm1.Button1Click(Sender: TObject);
var
  sLen : Cardinal;
  temp : String;
  a : Array[0..1] of Byte = ($00,$00);
Begin
  CryptBinaryToStringA(@a[0],Length(a),CRYPT_STRING_BASE64 Or CRYPT_STRING_NOCRLF,nil,@sLen);
  SetLength(temp,sLen);
  CryptBinaryToStringA(@a[0],Length(a),CRYPT_STRING_BASE64 Or CRYPT_STRING_NOCRLF ,@temp[1],@sLen);
  temp:=StrReplace(temp,#13#10,'');
  ShowMessage(temp);
end;