Java 中字符串转 16 进制16


在 Java 中,我们可以使用多种方法将字符串转换为十六进制表示形式。以下是一些常见的方法,附带示例代码和解释:

1. 使用 toHexString() 方法(Java 8+):
String originalString = "Hello World";
String hexString = (());
(hexString); // 输出:48656c6c6f20576f726c64

此方法使用 toHexString() 方法将字符串字节数组转换为十六进制字符串。需要注意的是,该方法使用默认字符集对字符串进行编码,可能产生意外结果。

2. 使用 Apache Commons Codec 库:
String originalString = "Hello World";
String hexString = (());
(hexString); // 输出:48656c6c6f20576f726c64

Apache Commons Codec 库提供了多种实用工具,包括用于十六进制编码和解码的 Hex 类。请注意,这需要在项目中添加对 Codec 库的依赖关系。

3. 使用自定义循环:
String originalString = "Hello World";
char[] chars = ();
StringBuilder hexString = new StringBuilder();
for (char c : chars) {
((c));
}
(hexString); // 输出:48656c6c6f20576f726c64

此方法使用自定义循环将字符串中的每个字符转换为十六进制表示形式。虽然它更灵活,但它比使用内置方法效率较低。

4. 使用正则表达式(Java 9+):
String originalString = "Hello World";
String hexString = ()
.mapToObj(Integer::toHexString)
.reduce((a, b) -> a + b)
.orElse("");
(hexString); // 输出:48656c6c6f20576f726c64

Java 9 引入了新的流式 API,可以使用正则表达式和映射函数来转换字符串。此方法使用 chars()、mapToObj() 和 reduce() 操作将字符串中的字符转换为十六进制表示形式并连接它们。

选择哪种方法取决于具体的用例和性能要求。对于简单和快速的转换,toHexString() 方法或 Apache Commons Codec 库是一个不错的选择。对于更复杂或自定义的需求,可以考虑使用自定义循环或正则表达式。

2024-10-12


上一篇:高效实现 Java 数组反转

下一篇:Java 方法调用:详细指南