如何在 Java 中转换字符到 ASCII 数值 | 您所在的位置:网站首页 › char转换为intjava › 如何在 Java 中转换字符到 ASCII 数值 |
在 Java 中将 char 转换为 int 以将字符转换为 ASCII 值
在 Java 中 getBytes(StandardCharsets.US_ASCII) 从一个字符中获取 ASCII 值
String.chars() 在 Java 9+ 中将字符转换为 ASCII 值
本文将通过实例发现在 Java 中把一个给定字符转换成 ASCII 数值的最简单有效的方法。 在 Java 中将 char 转换为 int 以将字符转换为 ASCII 值将该字符转换为 ASCII 数值的最简单方法之一是将该字符转换为整型 int。由于我们讨论的是单个字符,我们不能使用多个字符。 请看下面的例子。注意我们使用单引号内的字符 a,使其数据类型为 char。 public class Main { public static void main(String[] args) { int asciiValue = 'a'; System.out.println("ASCII Numeric Value: " + asciiValue); } }输出: ASCII Numeric Value: 97 在 Java 中 getBytes(StandardCharsets.US_ASCII) 从一个字符中获取 ASCII 值为了使这个例子有效,我们将首先得到我们的字符作为一个字符串,然后将该字符串转换为一个字节数组。StandardCharsets.US_ASCII 将确保我们得到正确的输出值。 import java.nio.charset.StandardCharsets; public class Main { public static void main(String[] args) { String s = "b"; byte[] bytes = s.getBytes(StandardCharsets.US_ASCII); System.out.println("ASCII Numeric Value: " + bytes[0]); } }输出: ASCII Numeric Value: 98这种方法的好处是,我们可以直接得到多个字符的 ASCII 值,因为字符在一个字符串中。 我们有一个包含 4 个字符的字符串 s。我们可以按照下面的步骤获取所有这些字符的 ASCII 数值。 import java.nio.charset.StandardCharsets; public class Main { public static void main(String[] args) { String s = "ball"; byte[] bytes = s.getBytes(StandardCharsets.US_ASCII); System.out.println("ASCII Numeric Value of b: " + bytes[0]); System.out.println("ASCII Numeric Value of a: " + bytes[1]); System.out.println("ASCII Numeric Value of l: " + bytes[2]); System.out.println("ASCII Numeric Value of l: " + bytes[3]); } }输出: ASCII Numeric Value: 98 ASCII Numeric Value: 97 ASCII Numeric Value: 108 ASCII Numeric Value: 108 String.chars() 在 Java 9+ 中将字符转换为 ASCII 值在这个方法中,我们将使用 Java 9 中添加的 API,我们可以使用 String.chars() 得到一个 IntStream,然后使用 .boxed() 得到一个 Integer 对象的 Stream。它将以数字形式给我们提供 ASCII 值,然后我们可以将这些值放入 List 中进行循环。 这个例子将字符串 building 作为输入,并打印出字符串中每个字符的 ASCII 值。 import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { String stringValue = "building"; List listOfIntegers = stringValue.chars().boxed().collect(Collectors.toList()); for (int i : listOfIntegers) { System.out.println("ASCII value " + i); } } }输出: ASCII value 98 ASCII value 117 ASCII value 105 ASCII value 108 ASCII value 100 ASCII value 105 ASCII value 110 ASCII value 103 |
CopyRight 2018-2019 实验室设备网 版权所有 |