Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C] convertire file generico in file binario

    Preso qualsiasi file di qualsiasi formato, è possibile ottenere la sua codifica binaria?

    In pratica, se prendo un file qualsiasi, è possibile creare un altro file che sia composto di 1 e 0 e in seguito partendeo da quest'ultimo, riottenere il file originale?

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    certamente.. per la codifica dipende dal tipo di file ovviamente

  3. #3
    Originariamente inviato da Stoicenko
    certamente.. per la codifica dipende dal tipo di file ovviamente
    e come si fa? In C ad esempio? :P

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    in tutti i linguaggi si può fare.. ti ho detto che dipende dal file.. se è un file di testo basta convertire in ascii i caratteri e poi da ascii a binario..

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315

    Moderazione

    Nel titolo manca l'indicazione del linguaggio che è obbligatoria.
    Inoltre, non è possibile postare richieste di tipo "Come si fa?". Questo richiede che qualcuno scriva per te l'intero algoritmo e ciò non è ammesso in quest'area (va in "Offro Lavoro / Collaborazione").
    In terzo luogo, cosa vorrebbe dire, con esattezza, "convertire un file generico in file binario"? Tutti i file sono file binari... anche i file di testo. Che senso ha la domanda?

    Prova a postare un esempio di ciò che vuoi ottenere così da chiarire bene quale sia il problema e, se hai già scritto qualcosa, ma non ottieni ciò che desideri, posta il codice e se ne discute.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    In generale è possibile leggere la sequenza di byte di un file qualsiasi sia il suo formato e ottenerne le corrispondenti stringhe di bit. Basta aprire il file in modalità di lettura binaria, leggere un byte alla volta, ottenerne la stringa di bit relativa (con gli operatori bitwise) e salvarla da qualche parte... per riottenere il file originario, operazione inversa: leggi i bit 8 alla volta, ottieni il byte corrispondente e lo scrivi in un file di output, e così iterativamente fino all'ultima stringa di 8 bit (che corrisponderà appunto all'ultimo byte del file originario).
    every day above ground is a good one

  7. #7
    ecco è esattamente questo che mi occorre.

    Ma qual'è il comando in C che permette di leggere le stringhe binarie di un file?

  8. #8

    Re: Moderazione

    Originariamente inviato da LeleFT
    Nel titolo manca l'indicazione del linguaggio che è obbligatoria.
    Inoltre, non è possibile postare richieste di tipo "Come si fa?". Questo richiede che qualcuno scriva per te l'intero algoritmo e ciò non è ammesso in quest'area (va in "Offro Lavoro / Collaborazione").
    In terzo luogo, cosa vorrebbe dire, con esattezza, "convertire un file generico in file binario"? Tutti i file sono file binari... anche i file di testo. Che senso ha la domanda?

    Prova a postare un esempio di ciò che vuoi ottenere così da chiarire bene quale sia il problema e, se hai già scritto qualcosa, ma non ottieni ciò che desideri, posta il codice e se ne discute.


    Ciao.
    Hai ragione ho fatto il post un pò alla cazzo, comunque yuyevon ha capito il mio problema

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Non c'è un comando per leggere "stringhe binarie"... leggi il file originario byte per byte con una semplice fscanf(), ottieni i singoli bit che li costituiscono con gli operatori bitwise e li scrivi (come caratteri) in un file di output. Completata l'operazione, apri il file di output così ottenuto e leggi 8 caratteri (=bit) alla volta (magari con una fgets()), ne ottieni il valore numerico corrispondente (ossia il byte) e lo scrivi in un altro file di output. Se il programma è corretto, questo secondo file sarà identico a quello originario (della serie: se era un mp3, aprilo con un media player e ascolta la musica!)
    every day above ground is a good one

  10. #10
    Originariamente inviato da YuYevon
    Non c'è un comando per leggere "stringhe binarie"... leggi il file originario byte per byte con una semplice fscanf(), ottieni i singoli bit che li costituiscono con gli operatori bitwise e li scrivi (come caratteri) in un file di output. Completata l'operazione, apri il file di output così ottenuto e leggi 8 caratteri (=bit) alla volta (magari con una fgets()), ne ottieni il valore numerico corrispondente (ossia il byte) e lo scrivi in un altro file di output. Se il programma è corretto, questo secondo file sarà identico a quello originario (della serie: se era un mp3, aprilo con un media player e ascolta la musica!)
    grazie mille, ci provo e vedo se funziona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.