文件保存到javac再到java,字符串发生了什么变化?

Posted 多彩泰坦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件保存到javac再到java,字符串发生了什么变化?相关的知识,希望对你有一定的参考价值。

一篇好文:从原理上搞懂编码——究竟什么是编码?什么是解码?什么是字节流?

 

 

encode,即把字符按照指定的<编码gbk utf-8等>编码成该<编码>所表示的字节

 

decode,即把字节根据指定的<编码gbk utf-8等>解码成该<编码>所表示的字符

 

java中的class文件中的字符都是utf-16编码

 

java中String的getBytes(charset)为编码操作,String的new String(bytes, charset)为解码操作

 

 

下面的图片展示了java中字符串编码的转换过程

上面描述不严谨,是因为用了getBytes()方法,而getBytes()方法无参时的默认编码为gbk(windows平台下的)

unicode与gbk编码对照文件:链接:https://pan.baidu.com/s/1tnI1xpuqXLEElIKxKLEAGw 密码:vp7f

unicode与utf-8编码对照网址:https://unicode-table.com/cn/

以上是关于文件保存到javac再到java,字符串发生了什么变化?的主要内容,如果未能解决你的问题,请参考以下文章

Java程序从开发到最终运行经历了什么?

sublime怎么运行java代码

javac编译提示编码GBK的不可映射字符

javac编译出现的编码错误: 编码GBK的不可映射字符

运行java程序时javac -d . Test.java,为啥用-d. ?

Java 枚举和其他类文件