我使用MIPS 24K Little Endian CPU在emmbed linux-os上构建并运行Node.js. Node.js版本是v0.12.0。一切正常,除非我使用fs.writeFile,示例代码:
var fs = require('fs');
fs.writeFile("/tmp/test.txt","hello world!",'utf-8', function(err){
if(err){
return console.log(err);
}
console.log("saved");
});
使用vim检查此test.txt,内容为:
^@hello world!
显然,这是一个不可取的符号" ^ @"在书面文件的开头。
那么这个问题是如何发生的以及如何解决呢?
答案 0 :(得分:0)
首先要做的是尝试重新输入hello world
字符串,可能是因为您以某种方式插入了NUL
或 CTRL-在h
之前将@ 字符放入其中。 ECMAScript实际允许这样做,因为NUL
不禁止出现在字符串文字中的一个字符。
您可以通过执行源文件的十六进制转储来检查此信息,以查看其中的实际字符。