Как исправить 'Значение "value" находится вне диапазона.Это должно быть> = -128 и <= 127. '? - PullRequest
0 голосов
/ 22 июня 2019

Я хочу поместить массив 128х128 чисел от 4 до 140 в массив из 16384 байтов, используя шестнадцатеричное значение.

Я пытался использовать BigInt, но массив байтов больше не будет работать.

var data = [];
    for(var i = 0; i<128; i++) {
        for(var j = 0; j<128; j++) {
            data[i + j * 128] = "0x" + (blocksList[blocks[i][j]] * 4).toString(16).toUpperCase();
            //  data[i + j * 128] = BigInt(`0x${(blocksList[blocks[i][j]] * 4).toString('hex', 0, 8)}`);
        }
    }

    var mapfile = {
        type: TAG.COMPOUND,
        name: '',
        val: [
            {
                name: 'data',
                type: TAG.COMPOUND,
                val: [
                    {
                        name: 'colors',
                        type: TAG.BYTEARRAY,
                        val: Buffer.from(data)
                    }
                ]
            }
        ]
    };

Я получаю эту ОШИБКУ: RangeError [ERR_OUT_OF_RANGE]: значение «value» находится вне диапазона.Должно быть> = -128 и <= 127. Получено 140. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...