Javascript 文件结果:将十六进制转换为字符串

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){

我是NodeJS的新手,在解决从多个文件读取的练习时遇到了问题。当我执行代码时,它返回Alexa中的数据,当我尝试转换数据时,我没有收到预期的结果

如果有人能告诉我我的代码有什么问题,这将是很有帮助的

  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)

您必须指定类似于so
fs.readFile(filename,encoding,callback)的编码。
大多数通用编码是
urf8
ascii

您还可以使用此函数的同步版本
filedata=readFileSync(文件名,编码)