字節流

维基百科,自由的百科全书
跳转至: 导航搜索

電腦科學裡面,字節流(byte stream)是一種比特流,不過裡面的比特被打包成一個個我們叫做字節(Bytes)的單位。

電腦網路內,比特字串流(octet stream)有時會拿來代表同樣的東西;這種措辭強調了我們的字節是8比特的字節,或者說八比特(octets)。最早字節這個詞被引進的時候,本身並沒有一個大小的標準;不過大多數現在的電腦字節都等同於八位元。

正式的說,一個字節流是一種特定的特定的抽象化,一個讓實體(entity)可以傳輸一系列的字節給處在另一端實體的一種通信頻道。一般來說這種頻道會是雙向,不過有時有單向的。在幾乎所有的狀況,這裡的頻道都具有所謂可靠的特質;也就是,在另一端會按照正確的順序出現應該出現的字節(現實生活中有些頻道,有時會順序錯誤,有時會多出或者失去一些字節)。

比較不正式的說,我們可以把它想做是兩個實體之間的管線(conduit);其中一個實體會將字節輸入管線,另一個實體則接收這些字節。這個管線可以是短暫或者永久的。

範例[编辑]

在多數的作業系統,包含類Unix系統Windows,一個行程(process)想要去取得任何檔案都是一種字節流的範例。特別是每個行程都有的三個標準串流(stdin, stdout, stderr),這三個字節流可視為是單向字節流的範例。UNIX裡面pipe的機制常被使用於連接不同的行程,並且用來創造行程之間的字節流。

另外一個在網路傳輸協議裡面比較有名,且會提供字節流給客戶端的範例是TCP/IP通訊協定裡面的傳輸控制協議(TCP),這種協議提供了雙向的字節流。

對於任意字節流的網際網路媒體型式application/octet-stream。其他媒體型式則會以公開的格式來定義他們自己的字節流。

相關條目[编辑]