Obter valor ASCII na palavra de input

Eu tenho um personagem:

char ch='A' 

Dê-me o método que converte char to ASCII
ou caminho que retorna um ASCII NUMBER .

Saída: 65

 char ch='A'; System.out.println((int)ch); 

Há uma grande pegadinha associada à obtenção de um código ASCII de um valor char .

No sentido apropriado, isso não pode ser feito.

É porque o char tem um alcance de 65535 enquanto o ASCII é restrito a 128 . Há uma enorme quantidade de caracteres que não possuem representação ASCII.

A maneira correta seria usar um ponto de código Unicode, que é o equivalente numérico padrão de um caractere no universo Java.

Felizmente, o Unicode é um completo superconjunto do ASCII. Isso significa que os números Unicode para caracteres latinos são iguais aos seus equivalentes ASCII. Por exemplo, A em Unicode é U+0041 ou 65 em decimal. Em contraste, o ASCII não possui mapeamento para 99% dos caracteres. Longa história curta:

 char ch = 'A'; int cp = String.valueOf(ch).codePointAt(0); 

Além disso, um char primitivo de 16 bits na verdade representa uma unidade de código , não um caractere e, portanto, está restrito ao Basic Multilingual Plane , por razões históricas . Entidades além dela requerem objects Character que lidam com a limitação de comprimento de bit fixo.

Um char é na verdade um tipo de dados numérico – você pode adicionar um a um int , por exemplo. É um short não assinado (16 bits). A esse respeito, você pode simplesmente converter a saída para, digamos, um int para obter o valor numérico.

No entanto, você precisa pensar um pouco mais sobre o que você está pedindo – nem todos os caracteres são valores ASCII. Qual saída você espera para, por exemplo, ou?

Além disso, por que você quer isso? Neste dia e idade você deve estar pensando em Unicode, não em ASCII. Se você permitir que as pessoas saibam qual é o seu objective e como você pretende usar esse valor retornado, quase certamente poderemos informá-lo de uma maneira melhor de alcançá-lo.

char (com letra minúscula c) é um tipo numérico. Já contém o valor ascii do char. Basta convertê-lo em um inteiro para exibi-lo como um valor numérico em vez de um valor textual:

 System.out.println("char " + ch + " has the following value : " + (int) ch); 
 char a='a'; char A='A'; System.out.println((int)a +" "+(int)A); Output: 97 65 

simplesmente faça

 int a = ch 

(também isso não tem nada a ver com android)