我尝试将编辑器的编码设置为UTF-16。 (?Java的String存储在UTF-16内部的数据,右)如果我打算打印非英文字符,我应该在编辑器(NetBeans)中使用什么编码
alt text http://sites.google.com/site/yanchengcheok/Home/helloworld.png
我键入下面的代码
package helloworld;
/**
*
* @author yan-cheng.cheok
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
System.out.println("我爱你");
System.out.println("\u6587\u4EF6\u79CD\u7C7B");
}
}
但是,输出是不是我所期待:
alt text http://sites.google.com/site/yanchengcheok/Home/helloworld1.png
我爱你�
文件种类�
我试图改变th e编辑器编码格式转换为UTF-8,这一次它可以使用!
我爱你
文件种类
我可以知道为什么我需要将编辑器编码格式更改为UTF-8而不是UTF-16吗? Java String是否在UTF-16内部存储数据?
不知道如何解决您的问题,但Java如何在内部存储字符串没有任何重要性,应该不关心您。无论String内部使用UTF-8还是UTF-16或一些Unicode,String类都允许同时获得“char”(每个字符最多16位)和代码点(32位/ codepoint),并且根本不会改变-Extended-版本的-EBCDIC。 – NoozNooz42 2010-06-11 02:32:49