先看例子:

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了。这两个类是字节流和字符流的适配器。

最新文章

  1. python+paramiko库+svn写的自动化部署脚本
  2. Fire
  3. 如何避免javascript中的冲突
  4. Bootstrap transition.js 插件详解
  5. [已解决] java.net.InetAddress.getHostName() 阻塞问题
  6. php--validate表单验证实例
  7. Leveldb Advanced
  8. sharepreferce支持boolean,string类型
  9. Git教程之版本回退(4)
  10. 52. N-Queens II
  11. 编程之美 ---> 1.2中国象棋将帅问题
  12. GetWindowText
  13. QT学习 之 事件与事件过滤器(分为五个层次)
  14. awk学习总结(两) How awk works and awk CMD in a file
  15. RandomAccessFile出现中文乱码问题
  16. asp.net 二级域名表单认证情况下共享Cookie
  17. cf1132G. Greedy Subsequences(线段树)
  18. SSM(Spring+SpringMvc+Mybatis)整合笔记
  19. kubectl命令自动补全
  20. 时间序列(六): 炙手可热的RNN: LSTM

热门文章

  1. 跨平台轻量级redis、ssdb代理服务器(C++ 11编写)
  2. [Java] 模拟HTTP的Get和Post请求
  3. Gradle实战:发布aar包到maven仓库
  4. java处理高并发高负载类网站的优化方法
  5. codeforces 434B B. Nanami's Digital Board(分治)
  6. ant 命令学习详解
  7. poj 3980 取模运算
  8. sublime text 3 扩展插件SideBarEnhancements用法教程
  9. Ajax请求ashx 返回 json 格式数据常见问题
  10. oledb 操作 excel