先看例子:

public class Test {

    public static void main(String[] args) {
char han = '永'; System.out.println((short)han); //输出27704
//以十六进制输出
System.out.format("%x", (short)han);//输出6c38
System.out.println(); char han2 = 0x6c38;
System.out.println(han2);//输出永
}
}

JVM编码:
JVM内部统一用Unicode,编码只发生在JVM和OS文件系统交界的地方。

所有的IO基本上可以分为面向字符和面向字节

面向字符是指不管你采用什么编码机制,我保存‘永’这个字符时,读出来还是‘永’字

面向字节的话就要保证系统中文件的二进制内容和JVM内部的二进制内容一致,不能变换0和1的位置,这种方式很适合读入视频文件和音频文件

JAVA中的Reader和Writer使用默认的编码机制,而且不能任意更改,比如使用中文版的windows,那么Reader和Writer默认使用的是GBK 的编码方式,

如果读取一个UTF-8编码的文件,那么就会乱码。如果使用到GBK编码以外的文件,就必须采用编码转换:一个字符与字节的转换,那就是InputStreamReader和OutputStreamWriter了。这两个类是字节流和字符流的适配器。

JAVA 编码机制的更多相关文章

  1. java基础知识(十一)java反射机制(上)

    java.lang.Class类详解 java Class类详解 一.class类 Class类是java语言定义的特定类的实现,在java中每个类都有一个相应的Class对象,以便java程序运行时 ...

  2. 10个精妙的Java编码最佳实践

    这是一个比Josh Bloch的Effective Java规则更精妙的10条Java编码实践的列表.和Josh Bloch的列表容易学习并且关注日常情况相比,这个列表将包含涉及API/SPI设计中不 ...

  3. 利用java反射机制 读取配置文件 实现动态类载入以及动态类型转换

    作者:54dabang 在spring的学习过程之中,我们能够看出通过配置文件来动态管理bean对象的优点(松耦合 能够让零散部分组成一个总体,而这些总体并不在意之间彼此的细节,从而达到了真正的物理上 ...

  4. 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础

    这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...

  5. 5. Java反射机制

    Java反射机制   问题: 在运行时,对一个JAVA类,能否知道属性和方法:能否调用它的任意方法? 答案是可以的,JAVA提供一种反射机制可以实现. 目录 什么是JAVA的反射机制 JDK中提供的R ...

  6. java反射机制(2)

    首先,我们在开始前提出一个问题: 1.在运行时,对于一个java类,能否知道属性和方法:能否去调用它的任意方法? 答案是肯定的. 本节所有目录如下: 什么是JAVA的反射机制 JDK中提供的Refle ...

  7. Java反射机制剖析(一)-定义和API

    1.     什么是Java反射机制 Java的反射机制是在程序运行时,能够完全知道任何一个类,及其它的属性和方法,并且能够任意调用一个对象的属性和方法.这种运行时的动态获取就是Java的反射机制.其 ...

  8. Java反射机制详解(1) -反射定义

    首先,我们在开始前提出一个问题: 1.在运行时,对于一个java类,能否知道属性和方法:能否去调用它的任意方法? 答案是肯定的. 本节所有目录如下: 什么是JAVA的反射机制 JDK中提供的Refle ...

  9. JAVA编码互转(application/x-www-form-urlencoded)

    本质上来说,java.net.UrlEncoder适用于将 String 转换为 application/x-www-form-urlencoded MIME 格式的静态方法 时 ,使用 但!一般情况 ...

随机推荐

  1. Timed Code

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&qu ...

  2. #技塑人生# windows2008无法远程— 注册表缺失键值导致高级防火墙服务异常

    windows2008无法远程— 注册表缺失键值导致高级防火墙服务异常 阿里云技术支持中心:章阿贵 一.远程无法访问(windows server 2008) 症状:无法远程但是系统内网络正常,防火墙 ...

  3. Android-Activity生命周期从onStart直接到onStop

    一般应用场景中,onStart执行后都是要执行onResume,但是如果在onStart中调用了finish,会直接执行onStop.

  4. redis存储对象,实体类新加字段空指针问题处理

    redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

  5. 手机端Post 数据

    var data ="";             using (StreamReader readStream = new StreamReader(context.Reques ...

  6. AspxGridView ComboBoxComlum列数据联动

    第1步: 页面放置AspxGridView控件, 设置列ComboBox1, ComboBox2列, 拟通过ComboBox1列更新联动ComboBox2列. 两个数据列均为"ComboBo ...

  7. SQL 把查出来的信息整合为一张表

    select name ,population from bbc where name='France' union all select name ,population from bbc wher ...

  8. ios卡牌游戏项目源码

    上传者fu_sion,源码CardGame,一副牌从中抽取十二张牌,翻开牌可以相同的花色+1 相同的数字+4分 同一张牌翻开后可以盖上(算是一个BUG)就酱紫~~ 项目源码下载:http://code ...

  9. ubuntu安装python3

    系统本身就已经安装了python2.7 和python3.4 现在需要做的就是将默认的版本更换一下下就可以了. 检查python的版本 python -V 老的版本没必要去产出了,因为会有一些程序依赖 ...

  10. centOS6.5x64简单的安装openfire

    yum install java libldb.i686 mysql-server mysql-connector-java 创建数据库 create database openfire defaul ...