所以,我有一个非常奇怪的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 ???我怎么能摆脱它?