Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';Java中的字符流和字节流以及C中的字符和字节之间的区别是什么?_Java_C - Fatal编程技术网

什么';Java中的字符流和字节流以及C中的字符和字节之间的区别是什么?

什么';Java中的字符流和字节流以及C中的字符和字节之间的区别是什么?,java,c,Java,C,在java中,人们说inputstream逐字节读取文件,然后使用缓冲读取器将其更改为characterstream。但在C中,char指的是字节(8位)。在java中,我们称之为字符和字节 在Java中,byte是有符号的8位值,char是无符号的16位值。Character既是char的包装器类型,也是许多支持char InputSTream之间的关键区别在于它每次读取一个字节的二进制数据。Reader用于读取文本,它使用您设置的字符编码或默认编码(例如UTF-8可以将1、2或3个字节转换为

在java中,人们说inputstream逐字节读取文件,然后使用缓冲读取器将其更改为characterstream。但在C中,char指的是字节(8位)。在java中,我们称之为字符和字节

在Java中,
byte
是有符号的8位值,
char
是无符号的16位值。
Character
既是
char
的包装器类型,也是许多支持
char

InputSTream之间的关键区别在于它每次读取一个字节的二进制数据。
Reader
用于读取文本,它使用您设置的字符编码或默认编码(例如
UTF-8
可以将1、2或3个字节转换为单个
char
)将字节解码为
char


我建议您进一步了解Java的基础知识。对于C/C++部分,在这些语言中,一个字符保证至少有8位,因此一个字符至少有一个字节宽。自从1992以来,我一直在编码C和C++,我从来没有见过一个真正的平台/编译器组合,其中字符和字节不等价。
另外请注意,除非另有规定,否则其他整数类型是有符号的(例如,“int”是有符号整数),但“char”等同于“unsigned char”。

流是顺序访问文件的一种方式。在流中,您可以一次处理一个数据,因为批量操作不可用。但是,streams支持大量的源和目标,包括磁盘文件、阵列、其他设备、其他程序等。在Java中,字节和字符不是一回事。因此,字节流不同于字符流。因此,Java定义了两种类型的流:字节流和字符流

字节流


字节流逐字节访问文件。Java程序使用字节流来执行8位字节的输入和输出。它适用于任何类型的文件,但不太适用于文本文件。例如,如果文件使用unicode编码,并且字符由两个字节表示,则字节流将分别处理这些字节,您需要自己进行转换。面向字节的流不使用任何编码方案,而面向字符的流使用字符编码方案(UNICODE)。所有字节流类都是从InputStream和OutputStream派生而来。

谢谢你说的,我需要更多地关注基础知识。可能是