java的内部编码

java运行时,内存中使用的字符编码是unicode。

编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中。我们最终获得的.class文件是内容以UNICODE编码格式保存的类文件。(引自http://hank4ever.iteye.com/blog/581463

可以使用-encoding参数指明编码方式:javac -encoding UTF-8 XX.java

运行jar包时,结果出现乱码可能就是未指定编码方式,在中国,windows的默认编码是GBK,故需要如下指定

java -Dfile.encoding=utf-8 -jar project.jar

\u4e00-\u9fa5是判断中文的unicode编码。

原文地址:https://www.cnblogs.com/binbinjx/p/3229334.html