计算机科学

首页 > 计算机科学

字节流

2018-08-29 18:20:17     所属分类:电脑网络

在计算机科学里面,字节流(byte stream)是一种比特流,不过里面的比特被打包成一个个我们叫做字节(Bytes)的单位。

在计算机网络内,八比特字符串流(octet stream)有时会拿来代表同样的东西;这种措辞强调了我们的字节是8比特的字节,或者说八比特(octets)。最早字节这个词被引进的时候,本身并没有一个大小的标准;不过大多数现在的计算机字节都等同于八比特。

正式的说,一个字节流是一种特定的特定的抽象化,一个让实体(entity)可以传输一系列的字节给处在另一端实体的一种通信频道。一般来说这种频道会是双向,不过有时有单向的。在几乎所有的状况,这里的频道都具有所谓可靠的特质;也就是,在另一端会按照正确的顺序出现应该出现的字节(现实生活中有些频道,有时会顺序错误,有时会多出或者失去一些字节)。

比较不正式的说,我们可以把它想做是两个实体之间的管线(conduit);其中一个实体会将字节输入管线,另一个实体则接收这些字节。这个管线可以是短暂或者永久的。

示例

在多数的操作系统,包含类Unix系统和Windows,一个进程(process)想要去获取任何文件都是一种字节流的示例。特别是每个进程都有的三个标准流(stdin, stdout, stderr),这三个字节流可视为是单向字节流的示例。UNIX里面pipe的机制常被使用于连接不同的进程,并且用来创造进程之间的字节流。

另外一个在网络传输协议里面比较有名,且会提供字节流给客户端的示例是TCP/IP通信协议里面的传输控制协议(TCP),这种协议提供了双向的字节流。

对于任意字节流的互联网媒体型式是application/octet-stream。其他媒体型式则会以公开的格式来定义他们自己的字节流。

相关条目

  • 字符串流
  • 比特流
  • Flow (computer networking)
  • 可靠字节流
  • Byte orientation
  • Byte-oriented protocol
  • Byte Stream Protocol

相关推荐