首先,我知道字符和字节之间的区别。字符是某些内容的标志或注释("A","中"或其他),而字节是计算机中的具体大小。计算机中字符的大小取决于编码方式。
但是什么是字符流和字节流呢?它们分别代表什么具体类型?字节流是一串字节吗?如果是这样,那字符流又是什么?我的最后一个问题是,TCP传输使用哪种类型的流?
首先,我知道字符和字节之间的区别。字符是某些内容的标志或注释("A","中"或其他),而字节是计算机中的具体大小。计算机中字符的大小取决于编码方式。
但是什么是字符流和字节流呢?它们分别代表什么具体类型?字节流是一串字节吗?如果是这样,那字符流又是什么?我的最后一个问题是,TCP传输使用哪种类型的流?
字符流是比字节流更高级的概念。实际上,字符流是一个被逻辑包装的字节流,它可以输出特定编码的字符,而不必读取字节并解码它们所代表的字符。
InputStream
读取字节,而一个 Reader
读取字符。
通过 TCP 传输的所有内容都是以字节形式呈现的。如果你知道字节流表示的是字符,你可以使用 InputStreamReader
将 InputStream 作为 Reader 使用。
TCP传输的是字节。这些字节代表什么取决于协议。
您可以在此处阅读有关字符流和字节流之间关系的信息:http://docs.oracle.com/javase/tutorial/i18n/text/stream.html
实际上,字符流是字节流的应用程序抽象,允许使用各种编码将字节读入或写出字符。