下面的代码给了我 Unicode 字符串கா
sysout = new PrintStream(System.out, true, "UTF-8");
sysout.println("\u0B95\u0bbe");
通过将 கா作为输入,我可以将十六进制值设为\u0B95和\u0bbe吗?
PS:这是泰米尔语。
下面的代码给了我 Unicode 字符串கா
sysout = new PrintStream(System.out, true, "UTF-8");
sysout.println("\u0B95\u0bbe");
通过将 கா作为输入,我可以将十六进制值设为\u0B95和\u0bbe吗?
PS:这是泰米尔语。
您可以使用格式功能来打印 Java UTF-16 字符串转义。
例如,此代码将转义写入 STDOUT:
String str = "கா";
for(char ch : str.toCharArray())
System.out.format("\\u%04x", (int) ch);
根据这个你必须尝试
System.out.println( "\\u" + Integer.toHexString('க' | 0x10000).substring(1) );
但它只适用于最高 3.0 的 Unicode。如果您想获得更多值,只需创建一个循环,例如
String foo = "கா";
for (int i = 0; i < foo.length(); i++)
System.out.println( "\\u" + Integer.toHexString(foo.charAt(i) | 0x10000).substring(1));
产生
\u0b95
\u0bbe
如果要将它们放在一行中,请更改System.out.println()
为System.out.print()
并System.out.print("\n")
在最后添加。