Codigo Java para convertir en ascii los caracteres
Este siguiente codigo convierte desde un char, letra, simple a su valor en la tabla ascii decimal, octal, hexadecimal. Para compilarlo ocupan el java 5(1.5) debido al uso de la clase Scanner, Saludos…(Este wordpress no me deja modificar los css, asi que veré que se puede hacer ;D)
Si buscas lo contrario click aquí
//---Empieza el codigo
public class ChartoAscii {
/*
* Hecho por Grekz, http://grekz.wordpress.com
* Version java 5 o superior
* Ej.
* Introduce: a
* Devuelve: El caracter leido es: a
* Su valor Ascii Decimal es:97
* Su valor Ascii Hexadecimal es:61
* Su valor Ascii Octal es:141
*/
public static void main(String[] args) {
java.util.Scanner in = new java.util.Scanner(System.in);
char aux = in.next().charAt(0);
System.out.println("El caracter leido es: " + aux
+ "\n Su valor Ascii Decimal es:" + (int) aux
+ "\n Su valor Ascii Hexadecimal es:" + Integer.toHexString((int) aux)
+ "\n Su valor Ascii Octal es:"+Integer.toOctalString((int)aux));
}
}
Categories: Java, Programación
Me sirvio tu post, gracias
De nada franjo, se te agradece por tu retroalimentación
Ecxelente aporte, gracias
¿como se hace para que el programa pida de nuevo si desea interpretar otro caracter?
Hola, muy buen aporte aunque no entiendo porq en mi computadora no corre y tengo un java arriba del 5 pero excelente aporte.
Excelente post!!
Como se podria hacer lo contrario? transformar un ascii en el caracter? Gracias
Dale click ici. Contiene lo que pedis.
Saludos
Hijo de puta pone algo que sirva. Revisen esta mierda para que vean que no sirve.
Salu2
Hijo de tu reputa
claro que sirve, que error te marca o ke? así como quieres que te ayude…
Saludos!
hola quiero probar tu codigo pero no se bien como hacerlo (soy nuevo en java jeje) el asunto es q estoy recibiendo datos por el puerto serial y necesito convertilos ya q estos llegan en codigo ascii lo unico q leo son cuadros, el codigo q estoy utilizando es este:
package javaapplication1;
//importo las bibliotecas necesarias para el puerto serial
import core.SerialPort;
import java.util.List;
import app.Com;
import app.Parameters;
public class Main {
public static void main(String[] args)throws Exception{
// MIRO LOS PUERTOS LIBRES
SerialPort free = new SerialPort();
List portList = free.getFreeSerialPort();
for (String string : portList) {
System.out.println(string);
}
// ESTABLESCO PARAMETROS DEL COM1.
Parameters settings = new Parameters();
settings.setPort(“COM1″);
settings.setBaudRate(“19200″);
//Instance COM1.
Com com1 = new Com(settings);
// Settings parameters COM·.
// settings.setPort(“COM5″);
// settings.setBaudRate(“9600″);
//Instance COM5.
// Com com5 = new Com(settings);
//ENVIO DATOS POR EL COM1.
// for (int i = 0; i >Send 1″);
com1.sendSingleData(1);
com1.sendSingleData(1);
com1.sendSingleData(0);
com1.sendSingleData(’1′);
com1.sendSingleData(0);
com1.sendSingleData(1);
com1.sendSingleData(172);
com1.sendSingleData(5);
// }
//LEO EL COM1
for (int i = 0; i < 8; i++) {
//levo lo q recibo a una variable
String rec = com1.receiveSingleString();
//java.util.Scanner in = new java.util.Scanner(System.);
//convierto la variable en un char
char c = rec.charAt(0);
//System.out.println("<<Receive "+com1.receiveSingleString());
System.out.println(""+ c);
//System.out.println("<<Receive "+com1.receiveSingleChar());
/*
char aux = in.next().charAt(0);
System.out.println("El caracter leido es: " + aux
+ "\n Su valor Ascii Decimal es:" + (int) aux
+ "\n Su valor Ascii Hexadecimal es:" + Integer.toHexString((int) aux)
+ "\n Su valor Ascii Octal es:"+Integer.toOctalString((int)aux));
*/
}
}
}
como ves tengo tu codigo comentado ya q no he podido utilizarlo, te agradeceria mucho si me ayudaras muchas gracias
hola ya lo arregle jejeje, el problema es q con numeros muy grandes el se equivoca, realiza mal la conversion mira a qui envio el codigo:
package javaapplication1;
//importo las bibliotecas necesarias para el puerto serial
import core.SerialPort;
import java.util.List;
import app.Com;
import app.Parameters;
public class Main {
public static void main(String[] args)throws Exception{
// MIRO LOS PUERTOS LIBRES
SerialPort free = new SerialPort();
List portList = free.getFreeSerialPort();
for (String string : portList) {
System.out.println(string);
}
// ESTABLESCO PARAMETROS DEL COM1.
Parameters settings = new Parameters();
settings.setPort(“COM1″);
settings.setBaudRate(“19200″);
//Instance COM1.
Com com1 = new Com(settings);
// Settings parameters COM·.
// settings.setPort(“COM5″);
// settings.setBaudRate(“9600″);
//Instance COM5.
// Com com5 = new Com(settings);
//ENVIO DATOS POR EL COM1.
// for (int i = 0; i >Enviando …”);
com1.sendSingleData(1);
com1.sendSingleData(1);
com1.sendSingleData(0);
com1.sendSingleData(’1′);
com1.sendSingleData(0);
com1.sendSingleData(1);
com1.sendSingleData(172);
com1.sendSingleData(5);
// }
//LEO EL COM1
for (int i = 0; i < 8; i++) {
//llevo lo q recibo a una variable
//String rec = com1.receiveToString(255, i);
//convierto el string a char
//char c = rec.charAt(0);
//String s1 = Character.toString(c);
java.util.Scanner in = new java.util.Scanner(System.in);
//char aux = in.next().charAt(0);
char aux = com1.receiveSingleChar();
System.out.println("El caracter leido es: " + aux
+ "\n Su valor Ascii Decimal es:" + (int) aux
+ "\n Su valor Ascii Hexadecimal es:" + Integer.toHexString((int) aux)
+ "\n Su valor Ascii Octal es:"+Integer.toOctalString((int)aux));
}
}
}
me podrian ayudar?? gracias
hola probe el codigo y este trabaja bien hasta el 127 (por q hasta ahi llega el asci)pero necesito leer hasta el 255 como hago?? alguna idea?
La verdad no entendí muy bien lo que pides. =P si gustas mandame tu mail, o agregame a twitter http://www.twitter.com/grkz.
(50)(53)(53) –> si quieres mostrar el numero 255… o quieres los caracteres de este tipo: http://rod.gs/lFb ?
Ahi creo que te falta otro Com, ya que ocupas uno para enviarte y otro para recibir,
puedes comentar tmb la línea del scanner… espero y te pongas en contacto, saludos.
mira mi correo es
email, lo q sucede es q el programa interpreta bienlos caracteres pero solo hasta el 127, necesido leer hasta el 256. el ascci extendido no lo logro leer.ya te agrege, charlemos por el msn…
eso es problema de la libreria que se usa aunque no estoy serguro… por ejemplo en builder c++ si se puede leer todos los ascii extendidos menos el primero, el 0 ascii… no se si habra una libreria que pueda interpretar el codigo ascii extendido icluyendo el ascii 0…
Que onda Vidbla.. no sabia que tienes blog de Java.. Saludos.
Yo quisiera ese codigo pero en PowrSript lo quiero para el power builder 0.5 se los agradeceria
Horas buscando algo que parecía sencillo, pero cuando ya estaba casi rendido, aparece tu ayuda. Muchas gracias!
Hola
Me gustaria saber como puedo pasar a codigo ascii caracteres especiales, por ejemplo:
si quiero pasar ‘\n’ a codigo ascii,
(no puedo hacerlo con pasar un char a ascii)
¿hay alguna forma de hacer esto sin tener que comprobar cada caracter especial?
muchas gracias
Excelente uno aprende mucho solo buscando, mira que no sabía que no había necesidad de importar el scanner, lo puedo hacer todo con 1 sola línea, me encanto tu programa.
hola a todos me pueden ayudar ps tengo q implementar el una clase el codigo ascii con paquetes ???
Hola muchas gracias por el aporte mi sirvio muchiiiiisimo.
Saludos,
Nelson