字节流和字符流区别是什么

一个字符就是一个字节啊,反正都是ASCII码都是一个字节的,为什么还要分开呢

7个回答

说的最简单了,字节流就是字母,字符流就是汉字。(虽然这个解释很片面,另外,一个字符可不是一个字节)

w19930104q
唯灬独尊 不同的字符所占的字节是不同的。   ASCII码:   一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。   UTF-8编码:   一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。   Unicode编码:   一个英文等于两个字节,一个中文(含繁体)等于两个字节。   符号:   英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。
2 年多之前 回复
w19930104q
唯灬独尊 如果你编码还不明白,我可以给你打个比方,不过这个例子肯定是假的。比如,汉字 我,utf-8对应的是0022,而GBK是3150,那么如果编码不对,你肯定是乱码的。因为io读取的是那些数字,然后通过数字找汉字,就跟字典似的
2 年多之前 回复
w19930104q
唯灬独尊 回复qq_39632416: unicode是编码啊。你如果读取字母,字节流就好。如果是汉字,先字节流,然后字符流,在字符流里规定你用哪种编码方式,如utf-8,GBK等等,最后缓冲流看需求。如果编码错误,汉字读出来会乱码。而字母永远不会乱码。因为只有汉字(韩文等)才涉及编码
2 年多之前 回复
qq_39632416
yunyuntop Unicode码怎么读取的,搞出来一堆零,一次还是读取一个字节
2 年多之前 回复

字符流和字节流,一个属性范围小,一个属性范围大,字符流只能是字符这一种类型,但是字节流中可以是字符,可以是二进制文件,可以是音频,可以是各种各样的类型,只要符合字节形式存储的都可以接字节流,
而字符流只能接字符;

要注意java中是unicode编码来做字符
字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组

http://blog.csdn.net/zxman660/article/details/7875799

qq_39632416
yunyuntop Java中的字符流明明处理的ASCII码
2 年多之前 回复

一个字符不一定是一个字节,比如一个中文汉字字符就不是一个字节,不同的编码下也是不同的

字节流主要用于上传下载文件,主要的接口是InputStream 和 OutputStream

字符流主要用于对txt文档的操作,主要接口是BufferWriter 和 BufferReader

qq_39632416
yunyuntop Word就不行会乱码,还有就是如果编码方式不是ASCII就会出现一些未知字符,还有就是如果copy的是Unicode会多很多空格,那这字符流还有何用
2 年多之前 回复

一句话 字节流接所有 字符流接字符

qq_39632416
yunyuntop 他也不是什么样的字符都能接的,Unicode就乱码
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问