关于java中默认字符编码问题

来源:互联网 发布:nodejs读取json文件 编辑:程序博客网 时间:2024/06/04 19:48

好久不动脑子,再加上java基础不牢固,这几天想做点东西,总被一些最基础的东西困住...

关于java中字符编码的问题,我将我解决掉过程贴上来,仅供参考...

1.我的疑问...

我看好多资料(包含我看的api文档)上说java的默认编码方式是Unicode,但是我用程序得出的编码方式并不是Unicode,例如我用String c=Charset.defaultCharset().name().toString();  输出的是gbk(我在win7下试的)  后来我看到有人这样说  java默认的编码方式是由Windows的语言地域里的设置决定的。我感觉很有道理,但是我想其他的资料上说是Unicode,也不会是胡说... 

2.解释:

JRE虚拟机内部是用unicode/UCS-2编码,对外输出用本地编码或者任一支持的字符编码

 组成String的char在内存里面是USC-2编码的
java源代码文件可以用gbk或者big5或者ascii, utf8都可以,但编译成class就成USC-2
 默认方式是UTF-8
java虚拟机在运行该代码的时候会先搜索你机器上的编码方式,也就是所说的window语言地域,你机器上是GBK,当然就是GBK了· 如果你机器没有设置,搜索出来为空,就是UTF-8。


原创粉丝点击