JAVA:从字符串中获取UTF-8十六进制值?

the*_*edp 6 java hex converter utf-8

我希望能够将原始UTF-8字符串转换为十六进制字符串.在下面的示例中,我创建了一个包含2个字母的样本UTF-8字符串.然后我试图得到十六进制值,但它给了我负值.

我怎么能让它给我05D005D1

String a = "\u05D0\u05D1";
byte[] xxx = a.getBytes("UTF-8");

for (byte x : xxx) {
   System.out.println(Integer.toHexString(x));
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

ata*_*lor 5

如果需要代码点,请不要转换为UTF-8等编码.使用Character.codePointAt.

例如:

Character.codePointAt("\u05D0\u05D1", 0) // returns 1488, or 0x5d0
Run Code Online (Sandbox Code Playgroud)