Javascript中奇怪的Charset行为

时间:2015-01-30 12:33:28

标签: javascript node.js character-encoding

所以,我有一个非常奇怪的String行为。首先是我从互联网上获取字符串并将其解码为UTF-8。一切都很好。

request.get(requestOptions, function(err, response, body) {
  body = iconv.decode(new Buffer(body), "ISO-8859-1");
  body = body.replace(/"/g, "");
  parseData(body);
});

然后我解析这些数据(CSV)并尝试比较它:

if (record[40] == "Dismantling") {
  console.log("push");
  output.push(record);

}

这个简单的比较最终应该有效,是的,在某些时候有一个字符串拆解。

我尝试过多种方法并且计算如下:

console.log("Length "+ record[40].length + " " + "Dismantling".length)
//result is "Length 23 11"

因此解析后的字符串为23,手动输入的字符串为11!怪异。

当通过记录循环[40] .charCodeAt(i)我得到这样的东西:

0 68 0 105 0 115 0 109 0 97 0 110 0 116 0 108 0 105 0 110 0 103 0

拆解时返回:

68 105 115 109 97 110 116 108 105 110 103

所以问题是,为什么我有0 ???我怎么能摆脱它?

0 个答案:

没有答案