Converti carattere in valore numerico ASCII in Java
-
Trasmetti
char
aint
per convertire un carattere in un valore ASCII in Java -
getBytes(StandardCharsets.US_ASCII)
per ottenere il valore ASCII da un carattere in Java -
String.chars()
per convertire i caratteri in valori ASCII in Java 9+
Questo articolo scoprirà i metodi più semplici ed efficaci per convertire un dato carattere in un valore numerico ASCII in Java con esempi.
Trasmetti char
a int
per convertire un carattere in un valore ASCII in Java
Uno dei modi più semplici per convertire il carattere in un valore numerico ASCII è eseguire il cast del carattere in int. Dato che stiamo parlando di un singolo carattere, non possiamo usare più caratteri.
Guarda l’esempio qui sotto. Notare che stiamo usando il carattere a
racchiuso tra virgolette singole, rendendo il suo tipo di dati char
.
public class Main {
public static void main(String[] args) {
int asciiValue = 'a';
System.out.println("ASCII Numeric Value: " + asciiValue);
}
}
Produzione:
ASCII Numeric Value: 97
getBytes(StandardCharsets.US_ASCII)
per ottenere il valore ASCII da un carattere in Java
Affinché questo esempio funzioni, prima prenderemo il nostro carattere come una stringa e poi convertiremo quella stringa in un array di byte. StandardCharsets.US_ASCII
garantirà che avremo il giusto valore di output.
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]);
}
}
Produzione:
ASCII Numeric Value: 98
Il vantaggio di questo approccio è che possiamo ottenere direttamente il valore ASCII di più caratteri poiché i caratteri sono in una stringa.
Abbiamo una stringa s
con 4 caratteri. Possiamo ottenere valori numerici ASCII per tutti questi caratteri come abbiamo fatto di seguito.
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]);
}
}
Produzione:
ASCII Numeric Value: 98
ASCII Numeric Value: 97
ASCII Numeric Value: 108
ASCII Numeric Value: 108
String.chars()
per convertire i caratteri in valori ASCII in Java 9+
In questo metodo, useremo un’API aggiunta in Java 9. Possiamo ottenere un IntStream
usando String.chars()
e poi un flusso di oggetti Integer
usando .boxed()
. Ci darà numericamente i valori ASCII che possiamo poi inserire in un List<Integer>
da scorrere.
Questo esempio prende come input la stringa building
e stampa i valori ASCII di ogni carattere nella stringa.
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);
}
}
}
Produzione:
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