下面是我显示unicode字符的代码,但是那时只能显示一个unicode字符。为什么呢?
byte extra[] = " ‘ ’ ” “ 《 》 : ; ” ".getBytes();
String extravalue = new String(extra, "UTF-8");
System.out.println(extravalue);
The Result
从上图中可以看出,角色' “'显示为' ?? '和其他人显示为他们的原始角色。为什么?
为了展示它,我该怎么办?我想用文件中的字符串与上面的字符进行比较。
答案 0 :(得分:1)
还需要在调用String.getBytes()
时指定编码,否则它将采用您平台的默认编码。在您的情况下,这可能不是UTF-8
:
byte extra[] = " ‘ ’ ” “ 《 》 : ; ” ".getBytes("UTF-8");
如果您想在不同的平台/操作系统上正确运行代码,则无论如何都需要这样做。
但是,你的情况很奇怪。我已尝试使用不同平台的普通字符集,包括CP1252和CP1250,并为所有字符提供问号。
您的字体也可能不支持特定字符。但是,您的字体似乎不太可能支持"左双引号"但不是"右双引号"。
答案 1 :(得分:0)
将这些字符放入文件中并使用扫描仪读取它,并以某种方式工作。哇...... ._。