Node.js 在fs.readFile中忽略编码
我正在尝试读取节点中属性文件的内容。这是我的电话:Node.js 在fs.readFile中忽略编码,node.js,Node.js,我正在尝试读取节点中属性文件的内容。这是我的电话: fs.readFile("server/config.properties", {encoding: 'utf8'}, function(err, data ) { console.log( data ); }); 控制台打印一个缓冲区: <Buffer 74 69 74 69 20 3d 20 74 6f 74 6f 0a 74 61 74 61 20 3d 20 74 75 74 75> 它很好用。但是,如果在选项中传
fs.readFile("server/config.properties", {encoding: 'utf8'}, function(err, data ) {
console.log( data );
});
控制台打印一个缓冲区:
<Buffer 74 69 74 69 20 3d 20 74 6f 74 6f 0a 74 61 74 61 20 3d 20 74 75 74 75>
它很好用。但是,如果在选项中传递了编码,则表示字符串将转换为utf8
node--version的输出是v0.10.2
我错过了什么
感谢您的支持根据您正在运行的节点的版本,参数可能只是编码:
fs.readFile("server/config.properties", 'utf8', function(err, data ) {
console.log( data );
});
第二个参数更改为选项
:
- FS
、readFile()
、writeFile()
和它们的同步副本现在接受一个appendFile()
对象(但仍然支持一个选项
字符串的旧API)编码
{encoding:'utf8'}
更改为{encoding:'utf-8'},例如:
fs.readFile("server/config.properties", {encoding: 'utf-8'}, function(err, data ) {
console.log( data );
});
这两种方法对我都有效。您可能正在使用旧版本的node?我使用的v0.10.1无论如何fs都不支持某些字符集,如
ISO-8859-1
,因此我不得不使用这个答案
fs.readFile("server/config.properties", {encoding: 'utf-8'}, function(err, data ) {
console.log( data );
});