在学习Python过程中,IDLE对多种转义的支持让我印象很深刻
毕竟这样可以让我们的输出更加多样。
但是我所知java的char好像只识别\u
下面的代码的输出与我所想的一样
char a = '\u0061';
char b = '\u00c6';
int c = 0x00c6;
System.out.println(a);
System.out.println(b);
System.out.println((char)c);
但是当我尝试和Python一样进行如下转义时
char a = '\U0001F60A';
cha b = '\N{Cat}';
IDEA进行了报错
于是我想试一下强制转换是否能够输出(我知道UTF-8编码下转换也很可能识别不了)
代码很简单
int a = 0x0001F60A;
System.out.println((char)a);
不出所料,没有成功
我想到可能是由于我设置的是UTF-8导致的
所以我修改IDEA为UTF-16
File -> Settings->File Encodings -> Defaule encoding for properties files 属性设置成UTF-16
然后还是上面的强制转换
还是失败了,没有成功输出
这就让我很是疑惑了,是什么原因导致的呢,我在查了一番资料后也没有找到相关的解释
不知道有没有大神可以帮我解答一下疑惑?