public class Test{
public static void main(String[] args){
for(int i=0;i<args.length;i++){
System.out.println(""+args[i]);
}
System.out.println("\u5C01\u53D1");
}
}请问传参数 java Test \u5C01\u53D1
和 直接 java Test
为什么结果不一样?
什么时候会把unicode转换过来再输出到屏幕呢?
public static void main(String[] args){
for(int i=0;i<args.length;i++){
System.out.println(""+args[i]);
}
System.out.println("\u5C01\u53D1");
}
}请问传参数 java Test \u5C01\u53D1
和 直接 java Test
为什么结果不一样?
什么时候会把unicode转换过来再输出到屏幕呢?
一个是运行期
编译时会按照工具指定的字符集编码把字符串“\u5C01\u53D1”转化为相应的字符串
你的IDE工具可能设置的是UTF-8
而运行期接收的参数“\u5C01\u53D1” 只是一串字符串而已 不会做相应的转化
我如果想在运行期转化 怎么办?
又没有相关的api之类的?
但是完整的用例要考虑到很多地方
你的例子分别涉及到
.java编辑环境
.java编译环境
.class运行环境
要确保每一个步骤的字符集编码都要明确统一
否则的话就会出现乱码或不想要的结果