关于javascript:js实现十六进制文件转十进制

7次阅读

共计 814 个字符,预计需要花费 3 分钟才能阅读完成。

/**
 * @fileName trave.js
 * @description 十六进制文件转 utf- 8 字符串
 * @date 2021-10-20 15:27:10
 * @lastEditors xl.li
 */
var fs=require("fs");
var path = require('path')


function decode(str){return str.replace(/\\x(\w{2})/g,function(_,$1){return String.fromCharCode(parseInt($1,16)) });
}

function traveDir(ins,filter = '.js') {let src = path.normalize(ins);
  let paths = fs.readdirSync(src); // 同步读取当前目录
  paths.forEach(function (path) {
    var _src = src + '/' + path;
    fs.stat(_src, function (err, stats) {  //stats  该对象 蕴含文件属性
      if (err) throw err;
      if (stats.isFile() && path.includes(filter)) {let readable = fs.readFileSync(_src,"utf-8");
        let nf = path.replace('.','.d.')
        fs.writeFile(src + '/' + nf,decode(readable),err => console.log(err))
      } else if (stats.isDirectory()) { // 是目录则 递归
        traveDir(_src);
      }
    });
  });
}


/**
 * @functionName 32
 * @param 参数 1:要转换的文件目录,参数 2:目录下要转换的文件类型(简略后缀过滤 )
 * @date 2021-10-20 15:28:00
 */
traveDir('./test1','.js')
正文完
 0