|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
[VB] Convertire da BIN ad un altro formato
Raga qual'è la strada migliore per convertire un file .BIN in un altro file con una data struttura?
Come bisogna operare in questi casi per avere una conversione rapidissima? P.S. i file con cui devo operare possono essere anche di 20 o 30MB
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
scusa, ".bin" non è il nome di un formato, è un'estensione... a che formato ti riferisci di preciso?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
beh di preciso devo passare da un file binario ad un file con struttura S-Record Motorola.
cmq ho riscritto il mio algoritmo, quello di prima ci metteva troppo, ora ci mette 12 secondi per un file .bin di 13MB. Credo sia abbastanza ok come tempo. Ho solo un paio di piccoli intoppi da risolvere: 1) al nuovo file che creo viene inserita un ultima riga di tutti zeri che in origine non esiste 2) nel calcolare degli offset ho un problema: il mio offset iniziale è ad esempio 10092000 che è ovviamente in HEX ora man mano che scrivo nel mio file lo devo incrementare di 64 (decimale) = 40 hex. come faccio a farlo nel modo più indolore possibile?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
continui a non essere molto chiaro: ti sei spiegato sul formato che vuoi ottenere ma non su quello che hai inizialmente: fino a prova contraria, su qualsiasi computer qualsiasi file è binario...
|
|
|
|
|
|
#5 | |||
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Questo è un esempio del file origine S-Record (ovviamente una piccola parte del file):
Quote:
Quote:
Quote:
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC Ultima modifica di leadergl : 26-01-2006 alle 11:43. |
|||
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ora mi hai mostrato un esempio di un tuo "file binario", ma ancora non riesco a capirne il formato... che significato hanno tutti quei bytes, come devono essere interpretati? e poi qualcosa non mi torna: nella versione in ASCII ci sono 5 o 6 caratteri, nella rappresentazione esadecimale sono molti di più...
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
raga ma cosa c'è di diabolicamente errato in questo codice? (lo allego)
è quello che mi serve per convertire il file bin nella sua struttura originale
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#8 | |||
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Ah, chiariamo un po la struttura del file originario ed in cosa consiste il bin:
File Originario (struttura record S3): Quote:
Quote:
Quote:
1) eliminando il record S0 2) eliminando DAI record S3 i seguenti dati: a) S3 b) Len c) Offset d) Checksum (rimangono quindi i soli dati) 3) eliminado l'ultimo (ed unico) record S7 La LEN standard per i File S-Record Motorola è di 45byte, quindi quando ricostruirò il file partendo dal BIN voglio che sia di 45 ed in questi è compreso anche il checksum. Il checksum è un checksum ad 8bit (1byte, 2 caratteri) ed è calcolato in complemento ad FF. tutto qua...credo che adesso sia tutto più comprensibile....
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|||
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
...up...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:16.


















