Salvare i byte-dati di un file in un file di testo
Vai alla navigazione
Vai alla ricerca
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