1.流是什么:流是数据的载体,打个比方来理解:流是水流,水流流经不同地会形成不同的作用,比如黄河成了炎黄子弟的母亲河,而古时淮河却照成了很大的灾害。而如果这个“水流”有输入的作用,我们就称之为输入流,载着的是输入;
2.字节流 和 字符流:由上可知,字节流即是含有字节的水流一般,但是呢,好比水是由2个氢和1个氧组成的,我们肉眼是看不懂氢跟氧这两种元素的,而我们能看到的是水。在计算机中,字节流是最基本的,用于对数据的处理。我们可以使用字节流转换成音乐,视频等数据,但是在数据中又有很大一部分是文本,由此拓展出字符流这种“肉眼可见”的流(与氢氧不同的是:氢氧看不见,而字节流是肉眼看不懂)。总而言之,字节流跟字符流都是数据,在提及对字符,字节的计算和处理的文字,都是指的是字节流和字符流,指的是对数据的处理。
3.字节:字节是计算机数据存储的单位,字节的大小好比家具在房子中所占的大小。
4.字符:字符是指人能看懂的,比如英文字母,汉字等内容。
5.字节和字符的区别:两者是不可以比较的,不是同一位面的内容。“在不同的编码中,字符表示所使用的字节个数不同”,这句话中传达了两个信息:
信息1-字符表示使用的字节数:英语字符在UTF-8编码中,使用一个字节来表示,即椅子在房子中占了一平方米的大小;而汉字则会使用三个字节来表示,即床在房子中占了3平方米的大小。
信息2-在不同编码中,字符表示的字节码不同:unicode编码中,英语用两个字节表示,即椅子在房子中占了1平方米大小也是占了0.001千平方米大小。使用的编码不同,相当于空间所占大小单位不同,但与空间大小所占不同的是,1平方米=0.001平方千米,但unicode编码下的英语字符占的2个字节数并不等于UTF-8占的1个字节数。更恰当的比喻是:古人说“这床占1亩”,现代人说“这床占10平方米”。床的大小都是这么大,但是我们的表示方式是不一样的。