Un flusso di byte è un termine usato per rappresentare una tecnica di calcolo che consente l’invio di dati lungo un particolare percorso. Qui, invece dei singoli uno e zero, noti come cifre binarie o bit, vengono inviate unità della dimensione di otto bit, note come byte, lungo il percorso. A volte viene anche indicato come un flusso di caratteri, poiché la maggior parte dei caratteri che compongono un alfabeto del linguaggio naturale, numeri e così via sono rappresentati da tali unità a 8 bit. Il percorso, o le entità coinvolte nel trasferimento dei dati, sono in qualche modo astratti, in quanto possono rappresentare un file a cui si accede da un programma, dati elaborati all’interno di un programma o dati che viaggiano su una rete.
Affinché un flusso di byte sia più efficace, scorre attraverso un percorso dedicato e affidabile a volte indicato come pipe o pipeline. Tale percorso deve essere affidabile per garantire che l’output sia accurato. In un certo senso, quando si considera la programmazione del computer, la pipe è il percorso che collega i vari aspetti di un programma in modo che mentre i dati vengono elaborati dall’input, possono essere passati a un’altra parte del programma, a un’altra e così via, fino a raggiungere l’uscita.
Un altro tipo di pipeline può essere utilizzato da alcuni sistemi operativi per acquisire dati, come il contenuto di un file, ed eseguirlo attraverso più programmi diversi per produrre un output. Ciò è utile con le applicazioni di elaborazione del testo, rese efficaci tramite un flusso di byte di caratteri per passare i dati. Uno degli usi più comuni di un flusso di byte, quindi, è per il sistema operativo di un computer quando accede ai dati in un file.
Nelle prime reti di computer, alcuni sistemi distinguevano tra un byte e quello che viene anche chiamato ottetto. Poiché un ottetto è anche un’unità di calcolo composta da otto bit, i termini sono talvolta usati in modo intercambiabile, sebbene su quei sistemi più vecchi non siano la stessa cosa. Di conseguenza, tuttavia, il flusso di ottetti è un termine utilizzato anche quando si parla di flusso di byte, sebbene principalmente per quanto riguarda le reti di computer. Un esempio, “application/octet-stream”, è il tipo MIME (Internet Mail Extensions) multiuso per la consegna di qualsiasi tipo di dati binari su una rete.
Quando si tratta di inviare un flusso di byte su una rete di computer, è necessario un protocollo di livello di trasporto bidirezionale affidabile, come il protocollo di controllo della trasmissione (TCP) utilizzato su Internet. Questi sono indicati come un protocollo di flusso di byte. Altri protocolli di dati seriali utilizzati con alcuni tipi di componenti hardware, come la tecnica UART (ricevitore/trasmettitore asincrono universale), è un canale di dati seriali che utilizza anche un flusso di byte per la comunicazione. In questo caso, il byte, o carattere, è impacchettato in un frame all’estremità trasmittente, dove un bit iniziale aggiuntivo e alcuni bit di controllo opzionali sono collegati e quindi separati dal frame sull’estremità ricevente. Questa tecnica viene talvolta definita protocollo orientato ai byte.