Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-10-2011, 19:41   #1
graffio83
Member
 
Iscritto dal: Oct 2005
Messaggi: 228
[C++ .NET] convertire endian di un file

Salve a tutti
ecco il problema
Codice:
FILE *mioFile;
fopen("miofile.bin,rb);
fread(ecc ecc
Il fatto è che il file binario è un Big endian e la mia macchina (Intel) è little endian

come posso convertire il file
ho trovato 1000 modi per convertire un byte...
ma un intero file?

grazie
graffio83 è offline   Rispondi citando il messaggio o parte di esso
Old 10-10-2011, 23:24   #2
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
L'endianess non influisce sull'ordine dei bit in un byte.
Per convertirlo devi conoscerne la struttura dati, altrimenti rischi di distruggere i dati durante la conversione.
Ad esempio se il tuo file fosse un UTF-16BE puoi convertire a blocchi di 2 byte alla volta, se invece i tuoi dati fossero custom del tipo 2byte-4byte-2byte devi convertire ogni singolo blocco a seconda della sua dimensione, ovvero non puoi trattarli come se fossero 2 campi da 4byte.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2011, 08:28   #3
graffio83
Member
 
Iscritto dal: Oct 2005
Messaggi: 228
sono blocchi di due byte alla volta...
graffio83 è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2011, 09:56   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da graffio83 Guarda i messaggi
sono blocchi di due byte alla volta...
Quindi la procedura è:
leggere un blocco di dati (al limite anche tutto il file)
convertire l'endianess a blocchi di 2 byte alla volta
salvare su file
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2011, 10:25   #5
graffio83
Member
 
Iscritto dal: Oct 2005
Messaggi: 228
in pratica apro un file con un immagine, .bin
è a 16bit la metto in un vettore Unsigned short int
per quello che mi hanno comunicato è a blocchi di 2 byte ma non devo salvarla su file, mi basta tenerla in un vettore convertita
graffio83 è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2011, 20:23   #6
graffio83
Member
 
Iscritto dal: Oct 2005
Messaggi: 228
Nessuno???
graffio83 è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2011, 08:40   #7
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da graffio83 Guarda i messaggi
Nessuno???
Ma qual è il tuo problema?
La procedura per convertire il file è quella che ti ho indicato.
Cosa ti manca?
La conversione dell'endianess?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2011, 09:20   #8
graffio83
Member
 
Iscritto dal: Oct 2005
Messaggi: 228
esatto, non riesco proprio a capir dove metter mano...

neanche se va fatto prima o dopo l'fread, quindi se farlo direttamente sul vettore letto e sul file prima della lettura...

sono nuovo dell'ambiente, molto molto nuovo

sorry
graffio83 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
QNAPTS-h966TX, il NAS per chi fa editing...
Il trucco semplicissimo per installare W...
Apple rinvia due novità di iOS 27...
Una memoria ferroelettrica raggiunge 10 ...
Honor Magic 9, Pro Max e Super Edition: ...
24 offerte Amazon da non perdere, dalla ...
Apple starebbe progettando i propri cont...
Niente borsa per OpenAI prima del 2027: ...
Meta potrebbe aver mostrato in anticipo ...
Bicicletta elettrica L26 a 474,05€: e-bi...
NVIDIA RTX PRO 5500 Blackwell: 84 GB di ...
Sei alla ricerca di un buon gruppo di co...
Blizzard annuncia un nuovo StarCraft: la...
Ecobonus al 65%: il governo valuta il ri...
Biscotti fatti con bottiglie di plastica...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:22.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v