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

时间:2011-12-08 13:34:05

标签: java

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

5 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

看看这个:

  1. Character Streams versus Byte Streams
  2. Character and Byte Streams
  3. 我假设TCP传输数据包,字节流。

答案 4 :(得分:0)

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