java里字节和字符分别是什么概念,怎么区别
2016-09-03 19:37
501 查看
2014-10-27 20:23最佳答案
这不光是 Java 的概念,我们知道机器只知道字节,而字符却是语义上的单位,它是有编码的,一个字符可能编码成1个2个甚至3个4个字节。这跟字符集编码有关系,英文字母和数字是单字节,但汉字这些自然语言中的字符是多字节的。一个字节只能表示255个字符,不可能用于全球那么多种自然语言的处理,因此肯定需要多字节的存储方式。 当我们在处理 Java 时,比如 InputStream, OutputStream 它们是处理字节流的,就是说假设所有东西都是二进制的字节,而 Reader, Writer 则是字符流,它涉及到字符集的问题,因为把一个字符保存到磁盘或读取出来需要指定一个字符集,平时你的代码没有指定是因为 JVM 读取操作系统默认的字符集,有时候(特别是数据交换的时候)可能这个默认字符集不正确。 在 Java 中,它的内核是使用 Unicode,也就是说它记住了每个字符的 Unicode 内部编码(一串数字,全球唯一,各国语言常用字符全部在里面,比如康熙字典这种古董中的多数汉字都在其中),只有把字符串通过网络发送出去或保存到磁盘上或反过来读取时才有字符编码成字节的过程,因为一个字符多个字节我们需要知道每个字符的这几个字节是按什么顺序排列的,第1个字节排前面还是排后面,多个字符串在一起时在读取时怎么识别出哪几个字节凑在一起是一个字符,这就是字符集编码方案了,UTF8, GBK, GB2312, GB18030, BIG5,之类的都是其中一种字符集编码方案。
来自百度知道
相关文章推荐
- java基础之字符、字节的概念及其区别
- java中字节流与字符流有什么区别简介?
- 字节与字符有什么区别
- java里字节和字符分别
- Java千百问_01基本概念(014)_同步、异步有什么区别
- 字符、字节的概念及其区别
- 位、字符、字节、有什么区别
- Java中字符输入输出流与字节输入输出流的区别
- dao、domain、service、web 分别是java里面的什么概念
- 请问JAVA三层架构,持久层,业务层,表现层,都该怎么理解?和MVC三层模型有什么区别
- Java千百问_01基本概念(013)_Socket、SocketChannel有什么区别
- java IO中字节流与字符流有什么区别
- EM64T和64位是不是一个概念啊?他们有什么区别啊,怎么区分啊?
- 分别以字节、字符、行、随机四种方式读取文件(Java文件操作)
- JAVA中抽象类与接口的区别,分别在什么情况下使用它们
- 第1章 Java基本概念及环境配置——FAQ1.10 JDK. JRE和JVM之间有什么区别?
- 位、字符、字节、有什么区别?
- JRE system library跟Java EE libraries包中的jar文件有什么区别,若不小心移除怎么还原啊?
- 字节与字符有什么区别
- Java千百问_01基本概念(006)_线程和进程有什么区别