java:将字符串转换为包含每个字符的十六进制数字的字符串

ufk*_*ufk 1 java hex

我有一个字符串,实际上每个字节都是十六进制数字的表示.

我想创建一个新字符串,其中包含每个字符的实际十六进制数.

我知道我可以做到String.getBytes()每个字符的字节,我知道迭代它i=0;i<=String.getBytes().length.我不明白的是如何创建一个新字符串,每个字符是十六进制数字(0-F).

谢谢!

aio*_*obe 5

你可以做点什么

String test = "hello world", result = "";

for (byte b : test.getBytes())
    result += Integer.toHexString(b) + " ";

System.out.println(result);

// result = 68 65 6c 6c 6f 20 77 6f 72 6c 64 
Run Code Online (Sandbox Code Playgroud)

但请记住,Java中的字符串是unicode.