位元组流
位元组流(英语:byte stream)在电脑科学中是一种比特流,不过里面的比特被打包成一个个我们叫做位元组(Bytes)的单位。
在电脑网路内,八比特字串流(octet stream)有时会拿来代表同样的东西;这种措辞强调了我们的位元组是8比特的位元组,或者说八比特(octets)。最早位元组这个词被引进的时候,本身并没有一个大小的标准;不过大多数现在的电脑位元组都等同于八位元。
正式的说,一个位元组流是一种特定的抽象化,一个让实体(entity)可以传输一系列的位元组给处在另一端实体的一种通信频道。一般来说这种频道会是双向,不过有时有单向的。在几乎所有的状况,这里的频道都具有所谓可靠的特质;也就是,在另一端会按照正确的顺序出现应该出现的位元组(现实生活中有些频道,有时会顺序错误,有时会多出或者失去一些位元组)。
比较不正式的说,我们可以把它想做是两个实体之间的管线(conduit);其中一个实体会将位元组输入管线,另一个实体则接收这些位元组。这个管线可以是短暂或者永久的。
范例
在多数的作业系统,包含类Unix系统和Windows,一个行程(process)想要去取得任何档案都是一种位元组流的范例。特别是每个行程都有的三个标准串流(stdin, stdout, stderr),这三个位元组流可视为是单向位元组流的范例。UNIX里面pipe的机制常被使用于连接不同的行程,并且用来创造行程之间的位元组流。
另外一个在网路传输协议里面比较有名,且会提供位元组流给客户端的范例是TCP/IP通讯协定里面的传输控制协议(TCP),这种协议提供了双向的位元组流。
对于任意位元组流的网际网路媒体型式是application/octet-stream。其他媒体型式则会以公开的格式来定义他们自己的位元组流。