Javascript 文件结果:将十六进制转换为字符串
我是NodeJS的新手,在解决从多个文件读取的练习时遇到了问题。当我执行代码时,它返回Alexa中的数据,当我尝试转换数据时,我没有收到预期的结果 如果有人能告诉我我的代码有什么问题,这将是很有帮助的Javascript 文件结果:将十六进制转换为字符串,javascript,node.js,Javascript,Node.js,我是NodeJS的新手,在解决从多个文件读取的练习时遇到了问题。当我执行代码时,它返回Alexa中的数据,当我尝试转换数据时,我没有收到预期的结果 如果有人能告诉我我的代码有什么问题,这将是很有帮助的 var fs = require('fs'); var tabfichier = ['test.txt','test2.txt']; var result; var donne; var call =function(result,donne){
var fs = require('fs');
var tabfichier = ['test.txt','test2.txt'];
var result;
var donne;
var call =function(result,donne){
console.log('result : ');
console.log(result);
console.log('donne : ');
//my function to convert
function hex_to_string(donne)
{
var hex = result.toString();
var str = '';
for (var n = 0; n < hex.length; n += 2) {
str += String.fromCharCode(parseInt(hex.substr(n, 2), 16));
}
return str;
}
console.log(hex_to_string(donne));//i call her
var array = [];
return array [null,result] ;
}
readFiles(tabfichier, call);
function readFiles(files, callback)
{
console.log(files);
console.log(callback);
var filesLeft = files.length;
var contents = {};
var error = null;
var filePath = ('./');
var x=0;
var processContent = function(filePath)
{
return function(err, data){
if (error !== null)
{
return;
}
if (err)
{
error = err;
return callback(err);
}
contents[x] = data;
x++;
if (!--filesLeft)
{
return callback('null', contents);
}
};
};
files.forEach(function(filePath){
fs.readFile(filePath, processContent(filePath));
});
}
var fs=require('fs');
var tabfichier=['test.txt','test2.txt'];
var结果;
var donne;
变量调用=函数(结果,donne){
log('result:');
控制台日志(结果);
console.log('donne:');
//我的转换功能
函数十六进制到字符串(donne)
{
var hex=result.toString();
var-str='';
对于(变量n=0;n
您必须指定像这样的编码fs.readFile(文件名、编码、回调)
大多数常用编码是urf8
和ascii
您还可以使用此函数的同步版本
filedata=readFileSync(filename,encoding)
您必须指定类似于sofs.readFile(filename,encoding,callback)的编码。
大多数通用编码是urf8
和ascii
您还可以使用此函数的同步版本filedata=readFileSync(文件名,编码)