如何将十六进制值传递给字符串 - Android

Sin*_*gee 6 java android

我需要从我提供的十六进制值创建一个String.

例如,而不是像这样分配:

String message = "123";
Run Code Online (Sandbox Code Playgroud)

我想像这样分配:

String message = 0x31, 0x32, 0x33;
Run Code Online (Sandbox Code Playgroud)

那可能吗?

Geo*_*gan 7

您可能还应该指定您正在使用的字符集,但这样做:

String message = new String(new byte[] {0x31, 0x32, 0x33});
System.out.println(message); // prints 123.
Run Code Online (Sandbox Code Playgroud)

如果您确实想要指定字符集,那么它只是String构造函数的另一个参数.如果定位Android API 19+,以下示例将有效:

String message = new String(new byte[] {0x31, 0x32, 0x33}, StandardCharsets.UTF_8);
Run Code Online (Sandbox Code Playgroud)