我读JPG图片的头文件的应用程序数据段,无法将读出来的ASCII转化为字符串!如
ASCII码 46 50 48 48 53 转化为应该是 。2005请问哪位有好的方法来解决下?好像C#里面有相应的转化函数,JAVA中小弟还没有找到??!
读取的字段内容不定长的,要由变量来控制读多大的长度和开始的位数。还要返回一个字符串类型的结果供别人来调用的!    例如 picdata=getFileAttribute(content,177,4,picextendname);
//内容,开始,读取长度,扩展名,getFileAttribute要返回字符串的结果,结果就是要在内部转换掉的
用的是FileInputStream的类 --不知道这个是不是最好的。好像read方法都是返回Int的 !!!
没有找到一个类的方法的返回值是 字符型的
我将内容读入byte[] byte数组,循环读出开始位后的每个字节,赋值给一个变量 J,(16进制转换后的ASCII码),但是要输出的结果是string,这样就需要将所有的循环读出的J一一转化成 字符类型,这样就涉及的ASCII----->字符的问题。数字的问题还好解决,就是字符和字母的问题了!如果吧byte[].toString(),好像里面只有16位的东西,其他的就不知道跑哪去了!

解决方案 »

  1.   

    package com.redtroy;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2005</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */public class ASCII2Char {
      public ASCII2Char() {
      }  public static void main(String[] args) {
        int a = 46;
        int b = 50;
        int c = 48;
        int d = 48;
        int e = 53;
        int[] ints = {
            a, b, c, d, e};
        char []chars=new char[ints.length];
        for(int i=0;i<ints.length;i++){
          chars[i]=(char)ints[i];
          System.out.print(chars[i]);
        }  }}
      

  2.   

    得到chars后String dest=new String(chars);
      

  3.   

    上面的还没有完全看懂我的意思,那个chars 的长度也是不一定的!
    主要是浪费资源的问题!呵呵