Newsgroup: it.comp.java
Titolo: [help] Conversione da una stringa hex ad una stringa ASCII...

Per ora ho risolto cosě, ma al solito se avete consigli...
Integer.toHexString() ;-)
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun

Integer.toHexString() ;-)
Ma, scusa, a me occorre convertire qualcosa (String) del tipo
"416420656D70696F21" String in HEX in "Ad esempio!" String in ASCII.
Non un Integer in HEX... :/
Non ho capito... dove dovrei usare Integer.toHexString() ?
Grazie.
Per ora ho fatto qualcosa del genere (ma non mi soddisfa affatto!)
---------------------------------------------------------------------------[ Convert.java ]---
import java.lang.Integer;
import java.lang.Byte;
public class Convert {
  private static boolean DEBUG = false;
 
  public Convert () {
    if (DEBUG) System.out.println ("Convert:Convert()");    
    // do nothing...
  } // Convert
 
  public static int str_hex2int_dec (String s) {
    int ret = Integer.parseInt (s, 16);
    if (DEBUG) System.out.println ("Convert:str_hex2int_dec(" + s + ") = " + ret);
    return ret;
  } // str_hex2int_dec
  public static long str_hex2long_dec (String s) {
    long ret = Long.parseLong (s, 16);
    if (DEBUG) System.out.println ("Convert:str_hex2long_dec(" + s + ") = " + ret);
    return ret;
  } // str_hex2long_dec
  public static byte str_hex2byte_dec (String s) {
    byte ret = Byte.parseByte (s, 16);
    if (DEBUG) System.out.println ("Convert:str_hex2byte_dec(" + s + ") = " + ret);
    return ret;
  } // str_hex2byte_dec
  public static String int_dec2str_bin (int i) {
    String ret = Integer.toBinaryString (i);
    if (DEBUG) System.out.println ("Convert:int_dec2str_bin(" + i + ") = " + ret);
    return ret;
  } // int_dec2str_bin
  public static String str_hex2str_bin (String s) {
    String str = "";
    String str_final = "";
    int len;
    for (int i = 0; i < s.length(); i++) {
      str = str + Integer.toBinaryString (Integer.parseInt ((String)("" + s.charAt(i)), 16));
      len = str.length();
      for (int j = 0; j < 4 - len; j++) {
        str = "0" + str;
      }
      str_final = str_final + str;
      str = "";
    }
    if (DEBUG) System.out.println ("Convert:str_hex2str_bin(" + s + ") = " + str_final);
    return str_final;
  }
  public static String str_hex2str_dec (String s) {
    String str = "";
    String str_temp = "";
    String str_final = "";
    int len;
    char c;
    for (int i = 0; i < s.length(); i = i + 2) {      
      str_temp = "" + s.charAt(i) + s.charAt(i+1);
      c = (char)Integer.parseInt (str_temp, 16);
      str = str + c;
      len = str.length();
      str_final = str_final + str;
      str = "";
    }
    if (DEBUG) System.out.println ("Convert:str_hex2str_dec(" + s + ") = " + str_final);
    return str_final;
  }
} // Convert
---------------------------------------------------------------------------[ Convert.java ]---

Non ho capito... dove dovrei usare Integer.toHexString() ?
Scusa, per la fretta avevo capito al contrario. :(
Assumendo che i tuoi hex siano in range 0-255 (ascii, appunto) e quindi 
rappresentati con due caratteri, per Stringa->String puoi usare qualcosa tipo 
import java.text.*;
...
public static String hexToAscii(String s) throws NumberFormatException {
    	StringBuffer sb=new StringBuffer();
	for(CharacterIterator ci = new StringCharacterIterator(s);ci.getIndex() < s.length();ci.next()) 
		sb.append((char)Integer.parseInt(""+ci.current()+ci.next(), 16));
	return sb.toString();
}
...
che fa la tua conversione di e(se)mpio, ma non e' che cambi granche'. :)
