Java最高

通过。开始使用Spring 5和Spring Boot 2学习的春天课程:

>>查看课程

1.概述

在这篇简短的文章中,我们将在十六进制格式和ASCII格式之间进行一些简单的转换。

在一个典型的用例中,十六进制格式可用于以紧凑形式写下非常大的整数值。例如,AD45比它的十进制等价物44357短,并且随着值的增加,长度的差异变得更加明显。

2.ASCII为十六进制

现在,让我们看看将ASCII值转换为十六进制的选项:

  1. 将字符串转换为字符数组
  2. 把每一个字符到一个int
  3. 使用Integer.toHexString ()将它转换成十六进制

以下是我们如何实现上述步骤的一个快速示例:

private static String asciiToHex(String asciiStr) {char[] chars = asciiStr. tochararray ();StringBuilder hex = new StringBuilder();for (char ch: chars) {6 .append(Integer.toHexString((int) ch));}返回hex.toString ();}

3.十六进制ASCII格式

类似地,让我们用三个步骤进行十六进制到ASCII格式的转换:

  1. 把十六进制值切成2字符
  2. 将其转换为以16为基数的整数整数。方法(十六进制、16)和投字符
  3. 添加所有字符StringBuilder

让我们看一个例子,我们如何实现上述步骤:

private static String hexToAscii(String hexStr) {StringBuilder output = new StringBuilder("");for (int i = 0;我< hexStr.length ();i += 2) {String str = hexStr。substring(i, i + 2);output.append ((char)整数。方法(str, 16));}返回output.toString ();}

4.测试

最后,使用这些方法,让我们做一个快速测试:

@Test public static void whenHexToAscii() {String asciiString = "www.b金宝搏188体育aeldung.com";String hexEquivalent = "7777772e6261656c64756e672e636f6d";assertequal (asciiString hexToAscii (hexEquivalent));} @Test public static void whenAsciiToHex() {String asciiString = "www.b金宝搏188体育aeldung.com";String hexEquivalent = "7777772e6261656c64756e672e636f6d";assertequal (hexEquivalent asciiToHex (asciiString));}

5.结论

最后,我们讨论了使用Java在ASCII和十六进制之间转换的最简单方法。

可以找到所有这些示例和代码片段的实现在github项目中-简单地导入项目并运行它是。

Java底部

通过。开始使用Spring 5和Spring Boot 2学习的春天课程:

>>查看课程
本文评论关闭!