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, ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
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: 20:41.


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