嘿,我只是刚开始尝试学习Java,并遇到了一些令人困惑的事情!Java Unicode混淆
我从我正在使用的书中输入一个示例。它将演示 char数据类型。
的代码如下:
public class CharDemo
{
public static void main(String [] args)
{
char a = 'A';
char b = (char) (a + 1);
System.out.println(a + b);
System.out.println("a + b is " + a + b);
int x = 75;
char y = (char) x;
char half = '\u00AB';
System.out.println("y is " + y + " and half is " + half);
}
}
是困惑我的是位的声明,焦炭半= '\ u00AB'。该书指出\ u00AB是符号'1/2'的代码。如上所述,当我从cmd编译并运行该程序时,该行上生成的符号实际上是'1/2'。
因此,一切看起来都是应该的。我决定玩弄代码并尝试一些不同的unicode。我搜索了多个unicode表,发现它们都不符合上述结果。
在每一个我发现它说,该代码/ u00AB不是为“1/2”和实际上这个:
http://www.fileformat.info/info/unic...r/ab/index.htm 那么什么字符Java中使用集,我还以为UNICODE应该就是这样,Uni,只有一个。我已经搜索了几个小时,无处可以找到一个指出/ u00AB等于1/2的字符集,但这正是我的java编译器解释的。
我必须在这里丢失一些明显的东西!谢谢你的帮助!
我推荐这篇文章,以帮助理解你所面临的问题:绝对最低每一个软件开发人员绝对,积极必须知道的关于Unicode和字符集] (http://www.joelonsoftware.com/articles/Unicode.html) – 2011-01-20 13:26:04