字符流和字节流之间有什么区别?

首先,我知道字符和字节之间的区别。 字符是某些东西的签名或注释(“A”,“中”或其他),字节是计算机中的具体大小。 计算机中字符的大小取决于编码风格。 但究竟什么是字符流和字节流? 他们所代表的具体类型是什么? 字节流是一个字节流? 如果是这样,什么是人物流? 我的最后一个问题是,TCP传输的是什么类型的流?

字符流是比字节流更高级别的概念。 字符流实际上是一个字节流,它被逻辑包裹,允许它从特定的编码输出字符; 而不是必须读取字节并解码它们代表的字符。

InputStream读取字节, Reader读取字符。

TCP上的所有内容都将以字节为单位。 如果您知道字节流表示字符,则可以使用InputStreamReader将InputStream用作Reader。

TCP传输字节当然。 这些字节代表的是协议。

您可以在这里阅读有关字符和字节流之间的关系: http : //docs.oracle.com/javase/tutorial/i18n/text/stream.html

实际上,字符流是字节流上的应用程序端抽象,允许使用各种编码将字节读入/写入字符。

看看这个:

  1. 字符流与字节流
  2. 字符和字节流

我假设TCP传输包,字节流。

java中的characterstream类用于处理ex-hadles unicode的字符输入和输出,而bytestream类用于处理字节的输入和输出,即ascii代码。前者用于java 1.0版本,后来用于java 1.1