Domanda

Molte lingue hanno funzioni che elaborano solo "testo in chiaro", non binario. Questo significa che saranno ammessi solo caratteri all'interno dell'intervallo ASCII?

Il binario è solo una serie di byte, non è simile al testo in chiaro che è solo una serie di byte interpretati come caratteri? Quindi, il testo in chiaro può memorizzare gli stessi formati / protocolli di dati del file binario?

È stato utile?

Soluzione

Una cosa che spesso significa è che la lingua potrebbe sentirsi libera di interpretare i caratteri di controllo certiano, come i valori 10 o 13, come terminatori di linea logica. In altre parole, un'operazione di output potrebbe aggiungere automagicamente questi caratteri alla fine e un'operazione di input potrebbe eliminarli dall'input (e / o terminare la lettura lì).

Al contrario, le operazioni di I / O linguistico che pubblicizzano il lavoro su " binario " i dati in genere includono un parametro di input per la lunghezza dei dati su cui operare, poiché non esiste altro modo (a parte la lettura della fine del file) per sapere quando è stato eseguito.

Altri suggerimenti

un testo semplice è leggibile dall'uomo, un file binario è generalmente illeggibile da un essere umano, poiché è composto da caratteri stampabili e non stampabili.

Prova ad aprire un file jpeg con un editor di testo (ad esempio blocco note o vim) e capirai cosa intendo.

Un file binario è generalmente costruito in modo da ottimizzare la velocità, poiché non è necessario alcun analisi. Un file di testo semplice è modificabile a mano, un file binario no.

" Plaintext " può avere diversi significati.

Il più utile in questo contesto è che è semplicemente un file binario che è organizzato in sequenze di byte che un particolare sistema di computer può tradurre in un insieme finito di ciò che considera "testo". caratteri.

Un secondo significato, in qualche modo connesso, è una restrizione che detto sistema dovrebbe visualizzare questi "caratteri di testo" come simboli leggibili da un essere umano come membri di un alfabeto riconoscibile. Spesso, l'implicazione non scritta è che il meccanismo di traduzione è ASCII.

Un terzo significato, ancora più restrittivo, è che questo sistema deve essere un "semplice" editor di testi / visualizzatore. Di solito implica la codifica ASCII. Ma, davvero, c'è una differenza MOLTO piccola tra te, l'essere umano, che legge il testo codificato in un formato funky e visualizzato da un programma proprietario, rispetto all'editor di testo VI che legge il file codificato ASCII.

Nel contesto di programmazione , il tuo ambiente di programmazione (composto da OS + API di sistema + le tue capacità linguistiche) definisce sia un insieme di " testo " caratteri e una serie di codifiche che è in grado di leggere per convertirli in questi "testi" personaggi. Tieni presente che ciò non implica necessariamente ASCII, inglese o 8 bit, ad esempio Perl può leggere e utilizzare in modo nativo il set Unicode completo di "quotazioni" &

.

Per rispondere alla tua domanda specifica, puoi sicuramente utilizzare " carattere " stringhe per trasmettere sequenze di byte arbitrarie, con l'avvertenza che devono essere applicate le convenzioni di terminazione delle stringhe. Il problema è che le funzioni già esistenti per "elaborare i dati dei caratteri" probabilmente non avrebbe alcuna funzionalità utile per gestire i tuoi dati binari.

In generale, dipende dalla lingua / dall'ambiente / dalla funzionalità.

I dati binari sono sempre: binari. Viene trasferito senza modifiche.

" Testo semplice " mode può significare una o più delle seguenti cose:

  • il flusso di byte è diviso in linee. I delimitatori di linea sono \ r, \ n o \ r \ n o \ n \ r. A volte dipende dal sistema operativo (come * nix piace \ n, mentre Windows piace \ r \ n). Il finale di riga può essere modificato per l'applicazione di lettura
  • la codifica dei caratteri può essere modificata. L'ambiente potrebbe rilevare e / o convertire la codifica di origine nella codifica prevista dall'applicazione
  • probabilmente alcune altre conversioni dovrebbero essere aggiunte a questo elenco, ma al momento non riesco più a pensare

Tecnicamente niente. Il testo semplice è una forma di dati binari. Tuttavia, una grande differenza è la modalità di memorizzazione dei valori. Pensa a come potrebbe essere memorizzato un numero intero. Nei dati binari userebbe un formato di complemento a due, probabilmente occupando 32 bit di spazio. In formato testo un numero verrebbe invece memorizzato come una serie di cifre unicode. Quindi il numero 50 verrebbe memorizzato come 0x32 (imbottito per occupare 32 bit) in binario ma verrebbe memorizzato come '5' '0' in testo normale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top