库 cbor 在转换中引入了一个新值

library cbor introduces a new value in the conversion

我在node.js上制作的这个程序,有异常。当我执行 decodeAllSync 时,我得到一个十进制数向量 它比我通过使用 encodeAsync 重新转换向量得到的数字少一个。为什么我得不到相同的向量? 谢谢

const cbor = require('cbor');
...
const results = cbor.decodeAllSync(output);
const input = cbor.encodeAsync(results);
console.log(output);
input.then( 
    function (x) {
      var v=new Uint8Array(x);
      console.log(v);
    },
    function () {
      console.log("fail ");
    });

我收到打印输出的输入:

Uint8Array [
  129,
  210,
  132,
  77,
  ...

我收到了输出的打印输出:

Uint8Array [
  210,
  132,
  77,
  ...

cbor.decodeAllSync 有 n 个参数 returns 一个 array 有 n 个条目。所以你编码的东西周围有一对额外的 []

> cbor.decodeAllSync(cbor.encode(1))
[ 1 ]
> cbor.decode(cbor.encode(1))
1