Home > Java, Programación > Codigo Java para convertir en ascii los caracteres

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
  1. franjo
    September 16, 2008 at 6:52 pm | #1

    Me sirvio tu post, gracias

  2. grekz
    September 26, 2008 at 8:42 pm | #2

    De nada franjo, se te agradece por tu retroalimentación

  3. MaoM
    April 23, 2009 at 2:55 am | #3

    Ecxelente aporte, gracias

    ¿como se hace para que el programa pida de nuevo si desea interpretar otro caracter?

  4. Poncho
    June 10, 2009 at 5:48 am | #4

    Hola, muy buen aporte aunque no entiendo porq en mi computadora no corre y tengo un java arriba del 5 pero excelente aporte.

  5. chenoa
    September 16, 2009 at 4:46 am | #5

    Excelente post!!

  6. Anonymous
    February 25, 2010 at 1:25 pm | #6

    Como se podria hacer lo contrario? transformar un ascii en el caracter? Gracias

  7. Disconforme
    April 18, 2010 at 2:54 am | #8

    Hijo de puta pone algo que sirva. Revisen esta mierda para que vean que no sirve.

    Salu2 ;)

    • April 18, 2010 at 5:42 pm | #9

      Hijo de tu reputa :P claro que sirve, que error te marca o ke? así como quieres que te ayude…

      Saludos!

  8. andres
    April 19, 2010 at 3:06 pm | #10

    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

  9. andres
    April 19, 2010 at 4:40 pm | #11

    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

  10. andres
    April 19, 2010 at 4:56 pm | #12

    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?

    • April 19, 2010 at 8:50 pm | #13

      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.

  11. andres
    April 20, 2010 at 12:46 am | #14

    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.

  12. April 20, 2010 at 2:48 am | #15

    ya te agrege, charlemos por el msn…

  13. javier
    May 24, 2010 at 8:08 pm | #16

    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…

  14. Luis
    June 28, 2010 at 11:41 pm | #17

    Que onda Vidbla.. no sabia que tienes blog de Java.. Saludos.

  15. Milagros
    June 29, 2010 at 2:08 pm | #18

    Yo quisiera ese codigo pero en PowrSript lo quiero para el power builder 0.5 se los agradeceria :D

  16. Pablo
    May 5, 2011 at 5:20 am | #19

    Horas buscando algo que parecía sencillo, pero cuando ya estaba casi rendido, aparece tu ayuda. Muchas gracias!

  17. marvice
    May 9, 2011 at 6:06 am | #20

    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

  18. August 27, 2011 at 12:02 pm | #21

    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.

  19. September 15, 2011 at 4:05 pm | #22

    hola a todos me pueden ayudar ps tengo q implementar el una clase el codigo ascii con paquetes ???

  20. October 12, 2011 at 2:39 pm | #23

    Hola muchas gracias por el aporte mi sirvio muchiiiiisimo.
    Saludos,
    Nelson

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 175 other followers