如何在 Java 中将代理字符打印为整数
How to print surrogate chars as ints in Java
我有这个:
char c = "\ud804\udef4".charAt(0);
char d = "\ud804\udef4".charAt(1);
如何将 c
和 d
打印为十六进制字符串?
我想要 d804
用于 c
和 def4
用于 d
。
字符是否为代理对并不重要。如果你有一个 char
,你可以通过 Integer.toHexString()
将它转换为十六进制字符串,因为 char
s 可以隐式转换为 int
.
System.out.println(Integer.toHexString(c));
System.out.println(Integer.toHexString(d));
我有这个:
char c = "\ud804\udef4".charAt(0);
char d = "\ud804\udef4".charAt(1);
如何将 c
和 d
打印为十六进制字符串?
我想要 d804
用于 c
和 def4
用于 d
。
字符是否为代理对并不重要。如果你有一个 char
,你可以通过 Integer.toHexString()
将它转换为十六进制字符串,因为 char
s 可以隐式转换为 int
.
System.out.println(Integer.toHexString(c));
System.out.println(Integer.toHexString(d));