2

我正在使用节点 js 中的 binaryjs 模块从客户端传递一个缓冲区。这个缓冲区包含一个管道分隔的字符串,我最终在服务器上解析它。

在客户端,我将字符串转换为 Uint8Array。我的字符串看起来像这样:

var stringToConvert = 'A_1_22|B_2_33|C_3_44';

当这个 Uint8Array 被传递到我的服务器时,它作为缓冲区接收。我首先将 Buffer 分块成一个数组:

var parts = [];
// ...
// as data is received:
parts.push(data);

当我将所有数据流式传输后,我将此数组转换为字符串并用“|”分割:

var arrayString = parts.toString().split("|");

这让我得到了所需的数组输出:

arrayString = ['A_1_22', 'B_2_33', 'C_3_33'];

然后我遍历这个arrayString并再次用“_”分割。

for(var i = 0; i < arrayString.length; i++)
{
    var thisArray = arrayString[i].split("_");
    // ...

当我尝试迭代 thisArray 以将第二个和第三个值转换为整数时,就会出现问题:

var intVal1 = parseInt(thisArray[1]); // returns NaN
var intVal2 = parseInt(thisArray[2]); // returns NaN
console.log(typeof thisArray[1]); // returns string

在客户端运行相同的代码可以正确地将字符串转换为整数。不确定我在这里缺少什么?

4

0 回答 0