HOWTO · Java

Converter um código ASCII para Char em Java

Este artigo mostra métodos sobre como converter um Código ASCII para o seu carácter equivalente.

Nesta página

Este artigo discute como se pode converter um código ASCII para o seu carácter usando métodos em Java. Adicionalmente, demonstramos como se pode mudar alfabetos em maiúsculas para minúsculas, e vice-versa.

Usar Fundição para Converter ASCII para Carvão em Java

A forma mais básica e fácil de extrair o caractere de um código ASCII é lançar o código ASCII directamente para um char; isto irá converter o asciiValue do tipo int para um tipo char.

public class Main {
  public static void main(String[] args) {
    int asciiValue = 97;

    char convertedChar = (char) asciiValue;
    System.out.println(convertedChar);
  }
}

Resultado:

a

Utilize Character.toString para converter o ASCII para Char em Java

A classe de caracteres de Java fornece-nos um método toString(), que é convertido num char num codePoint; neste caso, temos um código ASCII. Podemos colocar o método de conversão num laço para obter todos os alfabetos em inglês em maiúsculas. Note-se que o laço vai de 65 a 90, que são os códigos correspondentes aos alfabetos em maiúsculas.

O benefício deste método do exemplo que utilizámos acima é que pode lançar uma excepção se o valor int não for validado correctamente.

public class Main {
  public static void main(String[] args) {
    int asciiValue = 65;

    for (int i = asciiValue; i <= 90; i++) {
      String convertedChar = Character.toString(i);
      System.out.println(i + " => " + convertedChar);
    }
  }
}

Resultado:

65 = > A 66 = > B 67 = > C 68 = > D 69 = > E 70 = > F 71 = > G 72 = > H 73 = > I 74 = > J 75 =
    > K 76 = > L 77 = > M 78 = > N 79 = > O 80 = > P 81 = > Q 82 = > R 83 = > S 84 = > T 85 =
        > U 86 = > V 87 = > W 88 = > X 89 = > Y 90 = > Z

Utilizar Character.toString para Converter ASCII para Char em Java

Para converter os códigos ASCII para alfabetos em minúsculas, só precisamos de alterar o intervalo do laço; este deve começar com 97 e terminar com 122.

public class Main {
  public static void main(String[] args) {
    int asciiValue = 97;

    for (int i = asciiValue; i <= 122; i++) {
      String convertedChar = Character.toString((char) i);
      System.out.println(i + " => " + convertedChar);
    }
  }
}

Resultado:

97 = > a 98 = > b 99 = > c 100 = > d 101 = > e 102 = > f 103 = > g 104 = > h 105 = > i 106 =
    > j 107 = > k 108 = > l 109 = > m 110 = > n 111 = > o 112 = > p 113 = > q 114 = > r 115 =
        > s 116 = > t 117 = > u 118 = > v 119 = > w 120 = > x 121 = > y 122 = > z

Utilizar Character.toChars() para Converter ASCII para Char em Java

Podemos utilizar outro método da classe de caracteres em Java, que é toChars; é necessário um codePoint como o valor ASCII e retorna um array de char.

public class Main {
  public static void main(String[] args) {
    int asciiValue = 255;

    char[] convertedCharArray = Character.toChars(asciiValue);

    System.out.println(convertedCharArray);
  }
}

Resultado:

ÿ