You are 100% correct. The issue was with TStringList. Replaced it and
it works like a charm :) Thanks Jolyon Smith wrote: I would say there doesn't appear to be anything wrong with that code, so my next question would be what are these Base64xxx functions and are you certain that they are working correctly?Or perhaps show us the code you use to write the Base64Encode'd result to the file that your decode code then determines is invalid? Possible places where the error might occur: - writing of the encoded data to the file - reading of the encoded data FROM that file, prior to decoding - bug(s) in the Base64 encode/decode functions themselves If you are using a stringlist to save the output as you say you are, then I suspect that may be where your error is creeping in.... a stringlist will expect to be dealing with, well, a list of strings, and may respond to characters in the base64 encoded data inappropriately for your needs. Why not simply use a file stream to save the encoded result? -----Original Message----- From: delphi-boun...@delphi.org.nz [mailto:delphi-boun...@delphi.org.nz] On Behalf Of Robert martin Sent: Tuesday, 25 August 2009 14:33 To: NZ Borland Developers Group - Delphi List Subject: [DUG] Brain explosion ! (mime64) Hi I have a set of functions (not written by me) that encode and decode mime64 data. I want to take a file and mime64 encrypt it than at a later point decrypt it. However I am having trouble calling the functions and there is no help. Functions function Base64Encode(const InText: string): string; overload; function Base64Decode(const InText: string): string; overload; To do the encode I have the following function var fs : TFileStream; BufferIn : AnsiString; begin fs := TFileStream.Create(FileName, fmOpenRead); try fs.Position := 0; SetString(BufferIn, nil, fs.Size); fs.Read(Pointer(BufferIn)^, fs.Size); Result := Base64Encode(BufferIn); finally fs.Free; end; I use a string list to save the output. I thought this was working but when I come to decode it the system checks and finds it is an invalid file (does not divide evenly by 4). Can anyone see what might be wrong with the above? Cheers Rob _______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: delphi@delphi.org.nz Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: unsubscribe _______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: delphi@delphi.org.nz Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: unsubscribe |
_______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: delphi@delphi.org.nz Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: unsubscribe