Conoscere un valore memorizzato in un file in modalità Big-Endian
Da Gambas-it.org - Wikipedia.
Versione del 16 apr 2018 alle 18:51 di Vuott (Discussione | contributi) (Creata pagina con "Leggendo in un file i byte rappresentanti un valore, memorizzato in modalità "''Big-Endian''", se invece il sistema operativo adotta la modalità ''Little-Endian'', si otterr...")
Leggendo in un file i byte rappresentanti un valore, memorizzato in modalità "Big-Endian", se invece il sistema operativo adotta la modalità Little-Endian, si otterrà un valore errato.
Ad esempio, se il valore è memorizzato nel file secondo l'ordine Big-Endian, come segue:
05 03 01
il sistema, che adotta la modalità Little-Endian, lo restituirà invertito:
01 03 05
Un modo, per ottenere una lettura coerente con la memorizzazione in modalità Big-Endian, può essere quello di usare un vettore di tipo Byte[].
Esempio:
Public Sub Main() Dim fl As File Dim bb As New Byte[3] Dim b As Byte fl = Open "/percorso/del/file" For Read ' Leggiamo dal file i tre byte che rappresentano il valore: bb.Read(fl, 0, 3) bb.Reverse() Print Int@(bb.Data) fl.Close End
Pagina in costruzione !