【发布时间】:2013-04-18 07:03:58
【问题描述】:
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "अ";
byte[] bytes = str.getBytes("UTF-8");
for (byte b : bytes) {
System.out.print(b + "\t");
}
String hindi = new String(bytes, "UTF-8");
System.out.println("\nHindi = " + hindi);
System.out.println((int) 'अ');
}
输出:
-32 -92 -123
Hindi = अ
2309
我需要对这三个输出进行解释。尤其是最后一个。
另外,我从网页复制粘贴此字符अ。如何在 Eclipse IDE 中手动输入?例如,ALT + 65 会给出“A”,但 ALT + 2309 不会给出“अ”(我再次复制粘贴)。
【问题讨论】:
-
在Windows下有一个附属的系统工具Character Map,您可以通过它浏览字符表,点击和复制字符串。 2309 是 Unicode 编号,在 Java(基数 16)中可写为
"\u0905"。 Char Map 也将 Unicode 值显示为工具提示。它们是 Unicode 字符,需要两个 16 位 Java 字符,因此您可能会选择 String 而不是 char。