Due (Normal User)
Pro
Messaggi: 68
Iscritto: 19/10/2007
|
Avete presente quando si fa il dump esadecimale di un file? Ecco, io vorrei fare la cosa contraria, ossia fare un editor esadecimale che mi permetta di creare tipi di file che non posso creare semplicemente mettendo una serie di caratteri ascii in fila e salvandolo con la rispettiva estensione (es. se voglio creare un midi o un immagine, non posso usare i caratteri ascii).
è vero, probabilmente non è affatto semplice come cosa, e non so dove mettere le mani...qualcuno a delle idee?
|
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
si che sono ascii. solo che non sono default in tastiera.
basta usare le combinazioni dell'alt + codice orrispondente.
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
cioè ke tu intendi dire ke ad esempio hai 2 textbox(text1 & text2), nella text1 inserisci il codice esadecimale e tu vorresti ke nella text2 venga visualizzato il codice in ascii??
Ultima modifica effettuata da GrG il 11/01/2008 alle 18:25 |
|
Due (Normal User)
Pro
Messaggi: 68
Iscritto: 19/10/2007
|
Dunque, mi spiego meglio.
Se provate ad aprire un file non testuale tipo un file musicale con ad esempio il blocco note, vi appariranno una serie di caratteri apparentemente senza senso.
Per farvi un esempio di quello che intendevo dire: nel file aperto in questo modo, potreste trovare lunghe file di spazi " ", che voi vedete come spazi ma che la maggior parte delle volte non lo sono. Infatti il blocco note visualizza uno speciale carattere (in esadecimale "00") come uno spazio (che in esadecimale è invece "20").
Questo esempio potrebbe essere riportato con molti altri caratteri, il punto è che non posso creare un file che necessita di questi caratteri all'interno semplicemente con un OPEN e un PRINT, perché non saprei come inserirci i codici dei file visto che al massimo ne conosco il codice hex.
Per questo mi serviva di poter fare un editor esadecimale, ma se c'è un modo più semplice...
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
Forse ho capito cosa intendi...Io l'ho fatto un editor esadecimale....
Tu vuoi trasformare da ASCII a ESADECIMALE, giusto?
Cmq esistono svariati programmi ke fanno questo...
io ho utilizzato x sostituire gli spazi e tutti quei simboli la funzione replace()..
Ultima modifica effettuata da GrG il 11/01/2008 alle 22:06 |
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
hai provato col chr()?
chr(0) ti restituisce quel falso spazio (che e` il carattere nullo) che dicevi.
|
|
Due (Normal User)
Pro
Messaggi: 68
Iscritto: 19/10/2007
|
Be', sì, il chr() sarebbe un buon compromesso...se solo sapessi che codice metterci tra le parentesi cioè, non credo che il codice esadecimale corrisponda a quello da mettere nel chr()
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
Io la penso come Due e se nn mi sbajo come diceva anke lui uno spazio è equivalente a due 00...e non a uno 0...
Ultima modifica effettuata da GrG il 11/01/2008 alle 22:28 |
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
esadecimale = 16 caratteri
quindi in una doppa esadecimale (da 00 a ff) in totale ci sono 16 * 16 = 256 combinazioni ( 00 =0 e ff =255)
quindi se un carattere ascii e` un carattere in base 256 convertendo 2 caratteri esadecimali in decimali e facendo il chr() di questi otterremmo la stringa, o sbaglio?
(non sbaglio, e` retorico.)
ah ovviamente vale anche l'inverso.
se fai l'asc() di ogni carattere otterrai il decimale che se convertito in base 16 e` la doppia coppia dell'esadecimale.
Ultima modifica effettuata da P4p3r0g4 il 12/01/2008 alle 14:41 |
|