Cómo convertir un carácter en un valor numérico ASCII en Java
-
Echar
char
aint
para convertir un carácter en un valor ASCII en Java -
getBytes(StandardCharsets.US_ASCII)
para obtener el valor ASCII de un carácter en Java -
String.chars()
para convertir el carácter a valores ASCII en Java 9+
Este artículo descubrirá los métodos más fáciles y efectivos para convertir un carácter dado en un valor numérico ASCII en Java con ejemplos.
Echar char
a int
para convertir un carácter en un valor ASCII en Java
Una de las formas más fáciles de convertir el carácter en un valor numérico ASCII es lanzar el carácter a int. Como estamos hablando de un solo carácter, no podemos usar varios.
Echa un vistazo al siguiente ejemplo. Fíjate que estamos usando el carácter a
encerrado entre comillas simples, haciendo que su tipo de datos sea char
.
public class Main {
public static void main(String[] args) {
int asciiValue = 'a';
System.out.println("ASCII Numeric Value: " + asciiValue);
}
}
Resultado:
ASCII Numeric Value: 97
getBytes(StandardCharsets.US_ASCII)
para obtener el valor ASCII de un carácter en Java
Para que este ejemplo funcione, primero obtendremos nuestro carácter como una cadena y luego convertiremos esa cadena en un conjunto de bytes. StandardCharsets.US_ASCII
se asegurará de que obtengamos el valor de salida correcto.
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]);
}
}
Resultado:
ASCII Numeric Value: 98
El beneficio de este enfoque es que podemos obtener directamente el valor ASCII de múltiples caracteres como los caracteres de una cadena.
Tenemos una cadena s
que tiene 4 caracteres. Podemos obtener valores numéricos ASCII para todos estos caracteres como hemos hecho a continuación.
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]);
}
}
Resultado:
ASCII Numeric Value: 98
ASCII Numeric Value: 97
ASCII Numeric Value: 108
ASCII Numeric Value: 108
String.chars()
para convertir el carácter a valores ASCII en Java 9+
En este método, usaremos una API añadida en Java 9. Podemos obtener un IntStream
usando String.chars()
y luego un IntStream
de objetos Integer
usando .boxed()
. Nos dará numéricamente los valores ASCII que luego podemos poner en una List<Integr>
para hacer un bucle.
Este ejemplo toma la cadena building
como entrada e imprime los valores ASCII de cada carácter de la cadena.
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
String stringValue = "building";
List<Integer> listOfIntegers = stringValue.chars().boxed().collect(Collectors.toList());
for (int i : listOfIntegers) {
System.out.println("ASCII value " + i);
}
}
}
Resultado:
ASCII value 98
ASCII value 117
ASCII value 105
ASCII value 108
ASCII value 100
ASCII value 105
ASCII value 110
ASCII value 103
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn