java中即jvm中,内存中的字符类型使用的是utf-16编码。
结论:
一天看了很多帖子,有人说内存中为了方便所以不用任何的字符编码,直接使用unicode,但其实unicode只是一个字符表,相当于一本密码本,只是一个数字,代表这个字符和编号的对应关系,它在储存中的具体实现是UTF-8,UTF16,UTF-32。就是因为utf-16的编码是65536编号之前的字符都是用的是unicode的二进制,所以很多人会错误的以为unicode是一种编码形式,其实不是这样。java中对于65536编号之后的数字,java采用双字符的结构,这里就不多论述了。
博客链接:这篇文章写的特别好,除了它认为的内存中使用的是unicode,其他我认为都是正确的!
补充: 这一篇博客写的也很好,讲的很清楚
看完这篇博客,我来写一下整个java源代码在编译到运行的过程中使用了哪些编码。
1、首先源码编译的过程中,源码是可以使用任何形式的编码的ÿ