Strumień bajtów to termin używany do reprezentowania techniki obliczeniowej, która umożliwia przesyłanie danych określoną ścieżką. Tutaj zamiast pojedynczych jedynek i zer, znanych jako cyfry lub bity binarne, wzdłuż ścieżki wysyłane są jednostki o rozmiarze ośmiu bitów, zwane bajtem. Jest również czasami określany jako strumień znaków, ponieważ większość znaków składających się na alfabet języka naturalnego, liczby itd. jest reprezentowana przez takie 8-bitowe jednostki. Ścieżka lub jednostki zaangażowane w przesyłanie danych są nieco abstrakcyjne, ponieważ mogą reprezentować plik, do którego uzyskuje dostęp program, dane przetwarzane w programie lub dane przesyłane przez sieć.
Aby strumień bajtów był najbardziej efektywny, przepływa przez dedykowaną i niezawodną ścieżkę, czasami określaną jako potok lub potok. Taka ścieżka musi być niezawodna, aby dane wyjściowe były dokładne. Pod jednym względem, kiedy rozważamy programowanie komputerowe, potok jest ścieżką, która łączy różne aspekty programu, tak że gdy dane są przetwarzane z danych wejściowych, mogą być przekazywane do innej części programu, do innej i tak dalej, dopóki nie osiągnie wyjścia.
Inny typ potoku może być używany przez niektóre systemy operacyjne do pobierania danych, takich jak zawartość pliku, i przepuszczania ich przez wiele różnych programów w celu uzyskania pewnych danych wyjściowych. Jest to przydatne w aplikacjach do przetwarzania tekstu, realizowanych za pomocą strumienia bajtów znaków do przekazywania danych. Jednym z najczęstszych zastosowań strumienia bajtów jest zatem użycie systemu operacyjnego komputera podczas uzyskiwania dostępu do danych w pliku.
We wczesnych sieciach komputerowych niektóre systemy rozróżniały bajt od tak zwanego oktetu. Ponieważ oktet jest również jednostką obliczeniową składającą się z ośmiu bitów, terminy są czasami używane zamiennie, chociaż w tych starszych systemach nie są tym samym. W rezultacie jednak strumień oktetowy jest terminem używanym również w odniesieniu do strumienia bajtów, choć przede wszystkim w odniesieniu do sieci komputerowych. Jednym z takich przykładów, „aplikacja/strumień oktetowy”, jest wielozadaniowy typ rozszerzeń poczty internetowej (MIME) do dostarczania dowolnego rodzaju danych binarnych przez sieć.
Jeśli chodzi o wysyłanie strumienia bajtów przez sieć komputerową, wymagany jest niezawodny dwukierunkowy protokół warstwy transportowej, taki jak protokół kontroli transmisji (TCP) używany w Internecie. Są one określane jako protokół strumienia bajtów. Inne protokoły danych szeregowych używane z niektórymi typami komponentów sprzętowych, takie jak technika uniwersalnego asynchronicznego odbiornika/nadajnika (UART), to kanał danych szeregowych, który również wykorzystuje do komunikacji strumień bajtów. W tym przypadku bajt lub znak jest pakowany w ramkę na końcu nadawczym, gdzie dodatkowy bit początkowy i niektóre opcjonalne bity kontrolne są dołączane, a następnie oddzielane z powrotem z ramki na końcu odbiorczym. Ta technika jest czasami nazywana protokołem zorientowanym bajtowo.