La funzione Hex$() ti permette di convertire un numero in una stringa esadecimale. Di conseguenza, se vuoi scrivere nel file una stringa, potresti fare così:
Codice:
Dim s as String 'stringa di input
Dim i as Integer
Dim h as String 'stringa di output
s = "Testo di prova"
For i=1 To Len(s)
h = h & Right$("0" & Hex$(Asc(Mid$(s, i, 1))), 2)
Next
Open "C:\Windows\Temp\Hexadecimal.hex" for Output as #1
Print #1, h
Close #1
In sostanza, nel ciclo For converto ogni carattere della stringa s in codice ascii, poi lo converto in esadecimale, poi mi assicuro che la lunghezza complessiva del numero esadecimale sia di due cifre.
Per fare l'operazione inversa... supponendo che in h hai la stringa in formato esadecimale:
Codice:
For i=1 to Len(h) Step 2
s = s & Chr$(CByte("&h" & Mid$(h, i, 2)))
Next