java - 无法将 Int 数组转换为 ASCII

标签 java arrays ascii

说到重点了。 我不知道是什么导致我的函数出错,但是当我想将 int 数组转换为 ASCII 字符时,我收到了一些错误,其中显示

java.lang.OutOfMemoryError: Failed to allocate a 51529974 byte allocation with 4194304 free bytes and 30MB

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

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 码吗? 谢谢..

最佳答案

嗯,我猜 j 索引在此循环中不会改变:

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

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

关于java - 无法将 Int 数组转换为 ASCII,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34640296/

相关文章:

java - 在 Java 中扩展多维数组 (2D)

Java 接口(interface)和向下转型

java - 外围 Java 线程方法的后台工作对调用线程的影响

java - 无法运行 java 程序! NoClassDefFoundError?

Javascript - 无法获得要警报的数组的平均值

c# - SHA512 计算哈希返回乱码

javascript - 将字符串按照指定长度分割成数组

arrays - Concourse CI - 数组变量

python - 如何从非 ascii 字符获取 char 值

c - 如何检查简单文本文件中的换行符使用了哪个(ASCII)代码?