Convert a file to/from Base64

From Cuis CookBook
Jump to navigation Jump to search
  • One of the use of base64 file is to convert binary files into text files and, for example, send them via mail.
  • This is an example of what you get if you watch inside a base64 file
UEsDBAoAAAAAAEZcOFMAAAAAAAAAAAAAAAAIABwAdGVzdERpci9VVAkAA5ObTWHPn01hdXgLAAEE
6AMAAAToAwAAUEsDBAoAAAAAAERcOFMgMDo2BgAAAAYAAAARABwAdGVzdERpci90ZXN0MS50eHRV
VAkAA4+bTWGIm01hdXgLAAEE6AMAAAToAwAAaGVsbG8KUEsDBAoAAAAAAElcOFOQoBAeBwAAAAcA
AAARABwAdGVzdERpci90ZXN0Mi50eHRVVAkAA5qbTWGTm01hdXgLAAEE6AMAAAToAwAAaGVsbG8y
ClBLAQIeAwoAAAAAAEZcOFMAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQQAAAAB0ZXN0RGlyL1VU

Encode a file into new file Base64

  • The Linux/MacOSX way of doing such conversion is:
$> base64 foo.dat > foo.dat.b64
  • In Cuis you do:
inFile _ '/home/p/foo.dat'.
file64 _ '/home/p/foo.dat.b64'. 
rs1 _ inFile asFileEntry readStream useBytes.
rs2 _ file64 asFileEntry forceWriteStream .
Base64MimeConverter mimeEncode: rs1 to: rs2.  
rs1 close. rs2 close.

Decode a Base64 file into a new file

  • You can do this in Linux/MacOSX with
$> base64 -d foo.dat.b64 > foo.dat 
  • In Cuis you do:
file64 _ '/home/p/foo.dat.b64'. 
outFile _ '/home/p/foo.dat'.
rs1 _ file64 asFileEntry readStream.
rs2 _ outFile asFileEntry forceWriteStream useBytes.
Base64MimeConverter mimeDecode: rs1 to: rs2.  
rs1 close. rs2 close.