如何在Java中将字符串转换为0x十六进制格式?

3
我可以使用Javascript将字符串转换为十六进制格式,但我不知道如何在Java中实现。
例如:给定一个字符串“Hello World”,需要将其转换为十六进制格式,如“0x00 0x01 0x02 0x02 ...”
在Javascript中,我会这样做:
var data = new Uint8Array(24);
for (var i = 0; i < 24 ; i++) {
            data[i] = "0x"+(string.charCodeAt(i)).toString(16);
        }

我该如何在Java中将字符串转换为十六进制格式?


如果有printf()方法,那就太好了:printf("0x%02X", number); - iBug
1
你看过这个https://dev59.com/CW855IYBdhLWcg3wMRZW问题吗? - rfx
可能是重复的问题,参考如何在Java中将字母字符转换为十六进制数字 - Tom Blodget
一个字符串是UTF-16代码单元的计数序列。当你说“将字符串转换为十六进制格式”时,你指的是什么?"\u1234"?0x1234?0x12 0x34?0x34 0x12?U+1234 - Tom Blodget
1个回答

0

1
不需要调用 toCharArray() — 只需使用 asciiValue.length()asciiValue.charAt(i)。这样可以避免创建一个不必要的临时字符串副本。 - Wyzard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接