parse from convertir java string ascii

from - string to char java



Convertir carácter a valor numérico ASCII en java (18)

Como señaló @Raedwald, el Unicode de Java no atiende a todos los caracteres para obtener el valor ASCII. La forma correcta (Java 1.7+) es la siguiente:

byte[] asciiBytes = "MyAscii".getBytes(StandardCharsets.US_ASCII); String asciiString = new String(asciiBytes); //asciiString = Arrays.toString(asciiBytes)

Tengo String name = "admin";
luego hago String char = name.substring(0,1); //char="a" String char = name.substring(0,1); //char="a"

Quiero convertir el char a su valor ASCII (97), ¿cómo puedo hacer esto en Java?


Convierta el char a int.

String name = "admin"; int ascii = name.toCharArray()[0];

También :

int ascii = name.charAt(0);


En lugar de esto:

String char = name.substring(0,1); //char="a"

Debe usar el método charAt() .

char c = name.charAt(0); // c=''a'' int ascii = (int)c;


Es simple, obtenga el personaje que desea y conviértalo en int.

String name = "admin"; int ascii = name.charAt(0);


Estaba intentando lo mismo, pero la mejor y más fácil solución sería usar charAt y para acceder a los índices debemos crear una matriz de enteros de [128] tamaño.

String name = "admin"; int ascii = name.charAt(0); int[] letters = new int[128]; //this will allocate space with 128byte size. letters[ascii]++; //increments the value of 97 to 1; System.out.println("Output:" + ascii); //Outputs 97 System.out.println("Output:" + letters[ascii]); //Outputs 1 if you debug you''ll see 97th index value will be 1.

En caso de que desee mostrar los valores ascii de String completo, debe hacer esto.

String name = "admin"; char[] val = name.toCharArray(); for(char b: val) { int c = b; System.out.println("Ascii value of " + b + " is: " + c); }

Su salida, en este caso, será: Ascii valor de a es: 97 Ascii valor de d es: 100 Ascii valor de m es: 109 Ascii valor de i es: 105 Ascii valor de n es: 110


La forma más fácil de hacerlo es:

Para cadena entera en ASCII:

public class ConvertToAscii{ public static void main(String args[]){ String abc = "admin"; int []arr = new int[abc.length()]; System.out.println("THe asscii value of each character is: "); for(int i=0;i<arr.length;i++){ arr[i] = abc.charAt(i); // assign the integer value of character i.e ascii System.out.print(" "+arr[i]); } } } El resultado es:

THe asscii value of each character is: 97 100 109 105 110

Aquí, abc.charAt(i) da el carácter único de String array: cuando asignamos cada carácter al tipo entero, entonces, el compilador escribe la conversión como,

arr[i] = (int) character // Here, every individual character is coverted in ascii value

Pero, para un solo personaje:

String name = admin; asciiValue = (int) name.charAt(0);// for character ''a'' System.out.println(asciiValue);


Las diversas respuestas que pretenden mostrar cómo hacerlo son incorrectas porque los caracteres Java no son caracteres ASCII. Java usa una codificación multibyte de caracteres Unicode. El conjunto de caracteres Unicode es un super conjunto de ASCII. Entonces, puede haber caracteres en una cadena de Java que no pertenezcan a ASCII. Dichos caracteres no tienen un valor numérico ASCII, por lo que no se puede preguntar cómo obtener el valor numérico ASCII de un carácter Java.

Pero, ¿por qué quieres hacer esto de todos modos? ¿Qué vas a hacer con el valor?

Si desea el valor numérico para poder convertir Java String en una cadena ASCII, la verdadera pregunta es "¿cómo codifico una cadena Java como ASCII?". Para eso, use el objeto StandardCharsets.US_ASCII.


Muy simple. Solo echa tu char como int .

char character = ''a''; int ascii = (int) character;

En su caso, primero debe obtener el Carácter específico de la Cadena y luego lanzarlo.

char character = name.charAt(0); // This gives the character ''a'' int ascii = (int) character; // ascii is now 97.

Aunque el lanzamiento no se requiere explícitamente, pero mejora la legibilidad.

int ascii = character; // Even this will do the trick.


Puede verificar el número ASCII con este código.

String name = "admin"; char a1 = a.charAt(0); int a2 = a1; System.out.println("The number is : "+a2); // the value is 97

Si estoy equivocado, disculpas.


Sé que esto ya ha sido respondido en varias formas, pero aquí está mi código con una mirada para examinar a todos los personajes.

Aquí está el código, comenzó con la clase

public class CheckChValue { // Class name public static void main(String[] args) { // class main String name = "admin"; // String to check it''s value int nameLenght = name.length(); // length of the string used for the loop for(int i = 0; i < nameLenght ; i++){ // while counting characters if less than the length add one char character = name.charAt(i); // start on the first character int ascii = (int) character; //convert the first character System.out.println(character+" = "+ ascii); // print the character and it''s value in ascii } }

}


Si desea el valor ASCII de todos los caracteres en una Cadena. Puedes usar esto:

String a ="asdasd"; int count =0; for(int i : a.toCharArray()) count+=i;

y si quieres ASCII de un solo personaje en un String puedes ir por:

(int)a.charAt(index);


Si quería convertir toda la cadena en valores ASCII concatenados, puede usar esto:

String str = "abc"; // or anything else StringBuilder sb = new StringBuilder(); for (char c : str.toCharArray()) sb.append((int)c); BigInteger mInt = new BigInteger(sb.toString()); System.out.println(mInt);

en donde obtendrá 979899 como salida.

Crédito a this

Acabo de copiarlo aquí para que sea conveniente para otros.


Simplemente lanza el char a un int.

char character = ''a''; int number = (int) character;

El valor del number será 97.


Una manera fácil de esto es:

int character = ''a'';

Si imprimes "personaje", obtienes 97.


solo un enfoque diferente

String s = "admin"; byte[] bytes = s.getBytes("US-ASCII");

bytes[0] representará ascii de a .. y, por lo tanto, los otros caracteres en toda la matriz.


String name = "admin"; char[] ch = name.toString().toCharArray(); //it will read and store each character of String and store into char[]. for(int i=0; i<ch.length; i++) { System.out.println(ch[i]+ "-->"+ (int)ch[i]); //this will print both character and its value }


String str = "abc"; // or anything else // Stores strings of integer representations in sequence StringBuilder sb = new StringBuilder(); for (char c : str.toCharArray()) sb.append((int)c); // store ascii integer string array in large integer BigInteger mInt = new BigInteger(sb.toString()); System.out.println(mInt);


public class Ascii { public static void main(String [] args){ String a=args[0]; char [] z=a.toCharArray(); for(int i=0;i<z.length;i++){ System.out.println((int)z[i]); } } }