Código ASCII

Alguém sabe me informar se existe algum método em Java que trasnforme caracteres em código ascii e vice-verso? Só encontrei métodos que convertem para unicode e ele não conseguem converter os sinais de pontuação.

Já descobri como se faz. Não é necessário nehum método.
Para converter o caracter para o código ascii basta converte-lo para inteiro:
char caracter = ‘c’;
int char = character;
Para converter o inteiro para character:
int carac = 12;
char caracter = (char) carac;

Java nao trabalha com ASCII! Tome cuidado com isso - provavelmente, o seu codigo nao vai funcionar com conjuntos de caracteres diferentes, por exemplo, em outro sistema operacional, ou se alguem resolve rodar seu sistema num windows em chines… :wink:

olha na api
java.lang.Character

acho q deve ter algum metado que faça isso…

acho q java trabalha com unicode( www.unicode.org ) tbm…

Pessoal o que acontece é que o unicode é igual ao ASCII ou ANSI até o número 127 e do 160 até o 255 eu criei uma classe para trabalhar com isto segue anexo.

[code]import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

/**

  • A Classe Converssoes é uma classe que executa conversões de tipos de caracteres.
  • Programador: Michel Max Alves da Silva
  • Data: 16 de julho de 2008 08:28
  • @author Michel Max Alves da Silva
  • @version 1.00
    /
    public class Conversoes {
    /
    *
    • Método de conversão de código UniCode para ANSI.

    • Programador: Michel Max Alves da Silva
    • Data: 16 de julho de 2008 08:28
    • @author Michel Max Alves da Silva
    • @param iUniCode Número do Código UniCode.
    • @return Código ANSI (int).
      /
      public int getANSI(int iUniCode){
      int iReturn=0;
      try{
      if (iUniCode<352){
      iReturn = iUniCode;
      }
      else{
      switch(iUniCode){
      case 352:
      //?
      iReturn = 138;
      break;
      case 353:
      //?
      iReturn = 154;
      break;
      case 338:
      //?
      iReturn = 140;
      break;
      case 339:
      //?
      iReturn = 156;
      break;
      case 376:
      //?
      iReturn = 159;
      break;
      case 381:
      //?
      iReturn = 142;
      break;
      case 382:
      //?
      iReturn = 158;
      break;
      case 402:
      //?
      iReturn = 131;
      break;
      case 710:
      //?
      iReturn = 136;
      break;
      case 732:
      //?
      iReturn = 152;
      break;
      case 8211:
      //?
      iReturn = 150;
      break;
      case 8212:
      //?
      iReturn = 151;
      break;
      case 8216:
      //?
      iReturn = 145;
      break;
      case 8217:
      //?
      iReturn = 146;
      break;
      case 8218:
      //?
      iReturn = 130;
      break;
      case 8220:
      //?
      iReturn = 147;
      break;
      case 8221:
      //?
      iReturn = 148;
      break;
      case 8222:
      //?
      iReturn = 132;
      break;
      case 8224:
      //?
      iReturn = 134;
      break;
      case 8225:
      //?
      iReturn = 135;
      break;
      case 8226:
      //?
      iReturn = 149;
      break;
      case 8230:
      //?
      iReturn = 133;
      break;
      case 8240:
      //?
      iReturn = 137;
      break;
      case 8249:
      //?
      iReturn = 139;
      break;
      case 8250:
      //?
      iReturn = 155;
      break;
      case 8364:
      //?
      iReturn = 128;
      break;
      case 8482:
      //?
      iReturn = 153;
      break;
      default:
      iReturn = iUniCode;
      break;
      }
      }
      }
      catch(NumberFormatException Err){
      createReport(Err.hashCode(), Err.getMessage(), "getANSI");
      }
      return iReturn;
      }
      /
      *
    • Método de conversão de código ANSI para char.

    • Programador: Michel Max Alves da Silva
    • Data: 16 de julho de 2008 09:35
    • @author Michel Max Alves da Silva
    • @param iANSI Número do Código ANSI.
    • @return Caractere (char).
      /
      public char getCharByANSI(int iANSI){
      char cReturn = 0;
      try{
      if (iANSI<127){
      cReturn = (char) iANSI;
      }
      else{
      switch(iANSI){
      case 128:
      //?
      cReturn = (char) 8364;
      break;
      case 130:
      //?
      cReturn = (char) 8218;
      break;
      case 131:
      //?
      cReturn = (char) 402;
      break;
      case 132:
      //?
      cReturn = (char) 8222;
      break;
      case 133:
      //?
      cReturn = (char) 8230;
      break;
      case 134:
      //?
      cReturn = (char) 8224;
      break;
      case 135:
      //?
      cReturn = (char) 8225;
      break;
      case 136:
      //?
      cReturn = (char) 710;
      break;
      case 137:
      //?
      cReturn = (char) 8240;
      break;
      case 138:
      //?
      cReturn = (char) 352;
      break;
      case 139:
      //?
      cReturn = (char) 8249;
      break;
      case 140:
      //?
      cReturn = (char) 338;
      break;
      case 142:
      //?
      cReturn = (char) 381;
      break;
      case 145:
      //?
      cReturn = (char) 8216;
      break;
      case 146:
      //?
      cReturn = (char) 8217;
      break;
      case 147:
      //?
      cReturn = (char) 8220;
      break;
      case 148:
      //?
      cReturn = (char) 8221;
      break;
      case 149:
      //?
      cReturn = (char) 8226;
      break;
      case 150:
      //?
      cReturn = (char) 8211;
      break;
      case 151:
      //?
      cReturn = (char) 8212;
      break;
      case 152:
      //?
      cReturn = (char) 732;
      break;
      case 153:
      //?
      cReturn = (char) 8482;
      break;
      case 154:
      //?
      cReturn = (char) 353;
      break;
      case 156:
      //?
      cReturn = (char) 339;
      break;
      case 158:
      //?
      cReturn = (char) 382;
      break;
      case 159:
      //?
      cReturn = (char) 376;
      break;
      case 155:
      //?
      cReturn = (char) 8250;
      break;
      default:
      cReturn = (char) iANSI;
      break;
      }
      }
      }
      catch(NumberFormatException Err){
      createReport(Err.hashCode(), Err.getMessage(), "getCharByANSI");
      }
      return cReturn;
      }
      /
      *
    • Método de Criação de Log de Erros da Classe.

    • Programador: Michel Max Alves da Silva
    • Data: 18 de junho de 2008 13:50
    • @author Michel Max Alves da Silva
    • @param iErrNumber Número do Erro.
    • @param sErrDescription Descrição do Erro.
    • @param sProcedure Método que causou o erro.
      */
      private void createReport(int iErrNumber, String sErrDescription, String sProcedure){
      String sClassName = “Conversoes”;
      try{
      File F = new File("");
      SimpleDateFormat SDF = new SimpleDateFormat(“dd-MM-yyyy_-HH-mm-ss");
      String sNow = SDF.format(new Date());
      FileWriter FW = new FileWriter(F.getAbsolutePath() + "\ErrLog
      ” + sNow + “.txt”);
      PrintWriter PW = new PrintWriter(FW);
      PW.println("Número do Erro: " + String.valueOf(iErrNumber) + “\r\n\r\nDescrição:\r\n” + sErrDescription + "\r\nClasse: " + sClassName + "\r\nProcedure: " + sProcedure);
      FW.close();
      PW.close();
      }
      catch(IOException Err){
      System.out.println("Número do Erro: " + String.valueOf(iErrNumber) + “\r\n\r\nDescrição:\r\n” + sErrDescription + "\r\nClasse: " + sClassName + "\r\nProcedure: " + sProcedure);
      }
      }
      }[/code]