区分java字节(Byte)流和字符(character)流
来源:互联网 发布:网络机房建设 编辑:程序博客网 时间:2024/06/10 23:10
Java的流操作分为字节流和字符流两种。
下面这段话来自: http://zhidao.baidu.com/question/51467997
字节流与字符流主要的区别是他们的的处理方式
字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的。但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联。
在实际开发中出现的汉字乱码问题实际上都是在字符流和字节流之间转化不统一而造成的。
字节流—->字符流
字节流转化为字符流,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang
字符流—->字节流
字符流转化为字节流,实际上是String转化为byte[]时,byte[] String.getBytes(String charsetName)也是一样的道理至于java.io中还出现了许多其他的流,按主要是为了提高性能和使用方便,如BufferedInputStream,PipedInputStream等
常识:
对于GBK编码标准,英文占用1个字节,中文占用2个字节
对于UTF-8编码标准,英文占用1个字节,中文占用3个字节
对于Unicode编码标准,英文中文都是2个字节。这也是为什么叫做unicode,呵呵。
Java IO 参考:
http://www.cnblogs.com/rollenholt/archive/2011/09/11/2173787.html
http://www.iteye.com/topic/313635
http://hzxdark.iteye.com/blog/40133
- 区分java字节(Byte)流和字符(character)流
- 区分java字节(Byte)流和字符(character)流
- 字节流和字符流的区分
- JAVA IO流(1) 字节流和字符流
- Java详解(三)-字符流和字节流
- 关于双字节字符(16 byte)
- Java十六进制字符串转byte和字符转字节
- java 字符类(Character)
- java 字符类(Character)
- 字节(byte)、二进制、字节流、字符流相关概念分析
- 字符流和字节流(二)
- Java的字符流和字节流
- java字节流和字符流
- java字节流和字符流
- java字节流和字符流
- Java字节流和字符流
- java字节流和字符流
- java 字节流和字符流
- netty学习笔记(1)_一些核心概念
- 用Sample Grabber捕获视频
- 程序、线程和进程的区别是什么?
- BaiduMap编程前准备工作
- 欢迎使用CSDN-markdown编辑器
- 区分java字节(Byte)流和字符(character)流
- 用训练好的模型(caffemodel)来分类新的图片
- 数学建模——层次分析法
- 2017.4.9
- Linux高级管理之管理系统中的简单分区和文件系统
- LeetCode : Path Sum
- 【Dubbo初识——因为遇见你】
- BackTracking回溯
- “自我炒作”雄安新区 遭监管层严打