Newsgroup: it.comp.lang.c
Titolo: file binari e file di testo

Permettetemi una semplice domanda:
esiste in Unix la classificazione in file binari e file di testo cosi' come
avviene nei sistemi Win? Mi spiego: all'apertura di un client Ftp mi viene
chiesto di selezionare il tipo di file,
selezionando il tipo sbagliato a cosa vado incontro?
Marcello

 avviene nei sistemi Win?
No.
--------------------------------
Inviato via 
http://usenet.libero.it

On Wed, 18 Sep 2002 19:22:38 +0200, my firewall has received this bit's streaming from Tabularasa:

in FTP i dati sono riposti e trasmessi a seconda del loro tipo.
Questo tramite il comando TYPE, che definisce il modo in cui i dati dovranno
essere rappresentati. FTP struttura i file secondo tre metodi principali:
ASCII, EBCIDC,IMAGE,LOCAL. A seconda del metodo varia lo storage e la trasmissione.
Di default FTP usa ASCII..quindi il sender converte il testo da locale a NVT ASCII,
e il receiver viceversa. In accordo con NVT ASCII l'EOL e' \r\n.
Per il trasferimento binario invece (IMAGE), i dati vengono inviati come bits-streaming
in package da 8bits/byte. Il sistema di storage deve tenere i dati in contiguos-bits e
paddarli se necesario.. Indi per cui......
rfc765
Regards,
-- 
      SNHYPER
"Security developer"
http://snhyper.owns.it
Linux registered { user #249109, machine #133922 };



Beh... un file può essere binario o di testo sia in Unix che in Windows:
dipende solo da cosa ci scrivi dentro...
Il discorso del client ftp è diverso: Unix e DOS/Win usano convenzioni
diverse per la terminazione di una linea in un file di testo. Più
precisamente Unix termina le linee con un carattere di controllo (mi
sembra il LF), DOS/Win con due (LF + CR). Quindi se tu trasferisci un 
file di testo da Windows a Unix ti trovi con un carattere di troppo, la
cosa in genere non da problemi ma può essere fastidiosa quando visualizzi
il file. Mentre in Windows potresti non avere il ritorno a capo con alcuni
editor, ad esempio il Notepad, quindi ti ritrovi tutto scritto su una 
sola riga. Altri editor, ad esempio il Wordpad, non presentano il
problema e permettono di visualizzare correttamente il file e salvarlo in
formato DOS/Windows. Per evitare questi problemi, a dire il vero non
particolarmente gravi, il client ftp impostato in trasferimento ASCII
aggiunge od elimina il carattere incriminato a seconda delle necessità. 
Bisogna invece evitare assolutamente di trasferire file binari in
modalità ASCII, altrimenti i file verranno irrimediabilmente compromessi
e bisognerà ritrasferirli.
-- 
Per rispondere via email rimuovere 123

 dipende solo da cosa ci scrivi dentro...
Sfatiamo  un mito:  NON  ESISTONO FILE  DI  TESTO. Tutti  i file  sono
binari,  visto  che  dentro  c'e'  scritto  qualcosa  che  il  sistema
interpreta come una serie di 1 e 0 (ovvero cifre binarie).
La  differenza  tra  file binario  e'  file  di  testo e'  nata  dalla
necessita' per alcuni S.O. di interpretare il concetto di "a capo", in
file composti da quelli  che l'operatore umano considera "caratteri" e
che formano qualcosa che lui considera un testo.
Unix per dire "guarda che qui la riga si interrompe" in un file con le
specifiche di sopra, usa solo  il carattere '\n', altri S.O. usano una
sequenza di due caratteri.
Per  rimettere  le cose  a  posto (ci  sono  funzioni  che cercano  il
carattere '\n' e il carattere '\r', che viene usato in accoppiata, non
viene considerato  un carattere  alfabetico) e' necessario  trovare le
sequenze di  due caratteri e convertirle  in un solo  '\n': per questo
motivo su alcuni  S.O. le funzioni che aprono i  file richiedono "t" o
"b" a  secondo che  si desideri la  traslazione della sequenza  di due
caratteri in uno o meno [1].
Quindi che il sistema interpreti un  file come di testo o binario, non
dipende da cosa ci scrivi, ma da cosa ci leggi. :-)
C:\>iao Angelo
[1] Sugli altri S.O. sono comunque accettati, ma la loro presenza e'
    ininfluente.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 sequenza di due caratteri.
Attenzione, non si puo' parlare di *carattere* '\n'.
\n e' una sequenza di escape che, guarda caso, sotto Unix o Mac o qualche
altro sistema operativo, viene tradotta, in lettura e in scrittura, in un
carattere solo, mentre sotto Windows corrisponde a due caratteri.


 Attenzione, non si puo' parlare di *carattere* 'n'.
In effetti sono stato impreciso. Chiedo venia.
C:\>iao Angelo
