无法将Int数组转换为ASCII

时间:2016-01-06 18:36:27

标签: java arrays ascii

到了这一点。 我不知道是什么导致我的函数错误,但是当我想将int数组转换为ASCII字符时,我遇到了一些错误,其中包含

  

java.lang.OutOfMemoryError:无法分配带有4194304个空闲字节和30MB的51529974字节分配

我认为我的功能不足以转换它。 这是我的功能:

public static String[] DectoASCII(int[] resultXORDec,int jumKat) {
    int length = jumKat;

    String ASCIIfromDec[] = new String[jumKat];

    for(int i=0;i<jumKat;i++) {
        StringBuilder builder = new StringBuilder(length);
        for (int j = length - 1; j >= 0; i--) {
            builder.append((char) ((resultXORDec[j] >> (8 * i)) & 0xFF));
        }
        ASCIIfromDec[i]=builder.toString();
        Log.d("ascifrom",ASCIIfromDec[i]);
    }
    return ASCIIfromDec;
}

}

请高手,帮帮我。有没有其他方法将int(十进制)转换为ASCII代码? 感谢..

1 个答案:

答案 0 :(得分:3)

好吧,我想j索引在这个循环中不会改变:

for (int j = length - 1; j >= 0; i--) {
builder.append((char) ((resultXORDec[j] >> (8 * i)) & 0xFF));
}

因此你有一个无限循环,所以builder变得越来越大。