所以我有一堆表示Unicode代码的数字,例如:
int a = 6543我想在开头添加一个'\u‘,然后将结果保存在一个字符变量中,如下所示(因此,在获得此\u+6543的结果后,我想将其保存在一个字符变量中):
char b = '\u6543';发布于 2018-11-06 03:29:04
字符'\u6543'具有数值0x6543 (即十六进制的6543 )。
因此,要将数值赋给char,您应该这样写:
char a = 0x6543;如果必须将int值6543转换为值为0x6543的相应char,则可以转换为String,然后将String解析为十六进制数:
int a = 6543;
char b = (char)Integer.parseInt(Integer.toString(a),16);您将看到:
System.out.println (b=='\u6543');打印true。
当然,您只能对不包含从a到f的数字的Unicode值执行此转换,因为例如,您不能将值00a7存储在int变量中(除非添加0x前缀,否则不需要进行任何转换)。
发布于 2018-11-06 03:36:06
在"C“中我们会说:sprintf('\\u%d', i);
在这里,您需要的是文字字符串\u,后面是某个整数变量的数字字符串表示。
所以,现在用“Java语言”来做同样的事情。
https://stackoverflow.com/questions/53160869
复制相似问题