Salvare i byte-dati di un file in un file di testo

Da Gambas-it.org - Wikipedia.

Mostreremo un esempio per salvare i byte-dati di un file nella loro rappresentazione esadecimale in un file di testo:

Public Sub Main()

 Dim fl As File
 Dim b As Byte
 Dim ss As New String[]

 fl = Open "/percorso/del/file" For Read 

 While Not Eof(fl)
   Read #fl, b
   ss.Push(Hex(b, 2))
 Wend

 fl.Close

' Ogni numero esadecimale sarà separato da uno spazio (ovviamente si potrà scegliere di non inserire questo spazio):
 File.Save("/tmp/file", ss.Join(" ", Null))

End

In quest'altro esempio i valori in esadecimale dei byte-dati saranno disposti per righe composte da 16 valori separati da uno spazio:

Public Sub Main()

 Dim fl As File
 Dim b As Byte
 Dim ss As New String[]

 fl = Open "/percorso/del/file" For Read 

 While Not Eof(fl)
   Read #fl, b
   ss.Push(Hex(b, 2))
 Wend

 fl.Close

' Apre il file in "Scrittura" ove saranno salvati i valori in rappresentazione esadecimale:
 fl = Open "/tmp/file" For Create

 For i = 0 To ss.Max
   Inc n
   Write #fl, ss[i]
' Ciascuna riga sarà formata da 16 valori in rappresentazione esadecimale separati fra loro da uno spazio (ovviamente si potrà scegliere di non inserire questo spazio):
   If (i > 0) And (n Mod 16 == 0) Then 
     Write #fl, gb.NewLine 
   Else
     Write #fl, Chr(32)
   Endif
 Next

 fl.Close

End