一个十六进数 0xDC 如何转换成一个string?
 如果这个十六进制数转换成十进制是小于128的话,我用下面的方法可以,但是大于的话打出来的都会是‘?’,请教各位该如何转换     int ascii=123;  // 0xDC转换为十进制数是220
     char[] ch=new char[1];
     ch[0]=(char)ascii;
     String str=new String(ch);
     System.out.println(str);

解决方案 »

  1.   

    ASCII字符集是0--128的     ch[0]=(char)ascii; 中ch的值已经转换成ASCII对应的字符了 超过128输出??  但是编译可以通过.我刚通过SCJP 学的不多 还想不到解决方法 SORRY.
      

  2.   

    int i = 0xDC;
    System.out.println("0x"+Integer.toHexString(i));
      

  3.   

    没太明白你的意思,如果是单纯想讲数字转化为String的话,直接用Integer类的toString()就可以,如果想转化为对应的字符,用你的方法就搞定了,大于128的没有意义,可以加一个限制语句就可以了
      

  4.   

    String.valueOf(Integer.parseInt("0xDC",16)); //读 16 进制数字。
      

  5.   

    哦,要去掉 前面的 0x 才行。
    换成这个 : String.valueOf(Integer.decode("0xDC")); 
    这个能识别出 8进制 002 , 16 进制 0xDC 这种形式。
      

  6.   

    to  humanity(骷髅也跳舞) 
    String.valueOf(Integer.decode("0xDC"));  //这样可以把它转成一个“220“字符串,但我只是想把他转为一个字符
      

  7.   

    字符的ASCII的值超过128是不可显示字符 ,显示出?就是正确的结果
    你要的结果是什么?