最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript批量修改文件編碼格式的方法

 更新時間:2015年01月27日 09:36:48   投稿:shichen2014  
這篇文章主要介紹了javascript批量修改文件編碼格式的方法,分析了使用javascript第三方包批量修改文件編碼的技巧,需要的朋友可以參考下

本文實例講述了javascript批量修改文件編碼格式的方法。分享給大家供大家參考。具體如下:

摘要:

最近在制作手冊的時候遇到了一個問題'文檔亂碼',查看文件之后發(fā)現(xiàn)文件編碼不對,總共100多個文件,如果用編輯器另存為utf8,那就悲催了。所以自己就寫了個程序,批量修改文件編碼格式。

代碼:

復(fù)制代碼 代碼如下:
/**
 * 修改文件編碼格式,例如:GBK轉(zhuǎn)UTF8
 * 支持多級目錄
 * @param {String} [root_path] [需要進行轉(zhuǎn)碼的文件路徑]
 * @param {Array}  [file_type] [需要進行轉(zhuǎn)碼的文件格式,比如html文件]
 * @param {String} [from_code] [文件的編碼]
 * @param {String} [to_code]   [文件的目標(biāo)編碼]
 */

// 引入包
var fs = require('fs'),
  iconv = require('iconv-lite');

// 全局變量
var root_path = './html',
    file_type = ['html', 'htm'],
    from_code = 'GBK',
    to_code   = 'UTF8';

/**
 * 判斷元素是否在數(shù)組內(nèi)
 * @date   2015-01-13
 * @param  {[String]}   elem [被查找的元素]
 * @return {[bool]}        [description]
 */
Array.prototype.inarray = function(elem) {
  "use strict";
  var l = this.length;
  while (l--) {
    if (this[l] === elem) {
      return true;
    }
  }
  return false;
};

/**
 * 轉(zhuǎn)碼函數(shù)
 * @date   2015-01-13
 * @param  {[String]}   root [編碼文件目錄]
 * @return {[type]}        [description]
 */
function encodeFiles(root) {
  "use strict";
  var files = fs.readdirSync(root);
  files.forEach(function(file) {
    var pathname = root + '/' + file,
      stat = fs.lstatSync(pathname);
    if (!stat.isDirectory()) {
      var name = file.toString();
      if (!file_type.inarray(name.substring(name.lastIndexOf('.') + 1))) {
        return;
      }
      fs.writeFile(pathname, iconv.decode(fs.readFileSync(pathname), from_code), {
        encoding: to_code
      }, function(err) {
        if (err) {
          throw err;
        }
      });
    } else {
      encodeFiles(pathname);
    }
  });
}
encodeFiles(root_path);

小結(jié):

上面的程序支持多級目錄,同一個文件不能進行多次操作,否則又會出現(xiàn)亂碼。
完整代碼可點擊此處本站下載

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • Ionic項目中Native Camera的使用方法

    Ionic項目中Native Camera的使用方法

    Ionic項目中如何使用Native Camera?這篇文章主要介紹了Ionic項目中Native Camera的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JavaScript簡單計算人的年齡示例

    JavaScript簡單計算人的年齡示例

    這篇文章主要介紹了JavaScript簡單計算人的年齡,涉及簡單的javascript字符串轉(zhuǎn)換及日期運算相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • javascript中this的四種用法

    javascript中this的四種用法

    在javascript當(dāng)中每一個function都是一個對象,所以在這個里var temp=this 指的是function當(dāng)前的對象。this是Javascript語言的一個關(guān)鍵字。它代表函數(shù)運行時,自動生成的一個內(nèi)部對象,只能在函數(shù)內(nèi)部使用。
    2015-05-05
  • 微信小程序?qū)崿F(xiàn)星級評分

    微信小程序?qū)崿F(xiàn)星級評分

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)星級評分,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • bootstrap插件treeview實現(xiàn)全選父節(jié)點下所有子節(jié)點和反選功能

    bootstrap插件treeview實現(xiàn)全選父節(jié)點下所有子節(jié)點和反選功能

    這篇文章主要為大家詳細介紹了bootstrap插件treeview實現(xiàn)全選父節(jié)點下所有子節(jié)點、反選功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • js實現(xiàn)當(dāng)鼠標(biāo)移到表格上時顯示這一格全部內(nèi)容的代碼

    js實現(xiàn)當(dāng)鼠標(biāo)移到表格上時顯示這一格全部內(nèi)容的代碼

    下面小編就為大家?guī)硪黄猨s實現(xiàn)當(dāng)鼠標(biāo)移到表格上時顯示這一格全部內(nèi)容的代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • JavaScript中reduce()的5個基本用法示例

    JavaScript中reduce()的5個基本用法示例

    這篇文章主要給大家介紹了關(guān)于JavaScript中reduce()的5個基本用法示例,文中通過示例代碼以及圖文介紹的非常詳細,對大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 小程序開發(fā)中如何使用async-await并封裝公共異步請求的方法

    小程序開發(fā)中如何使用async-await并封裝公共異步請求的方法

    在平常的項目開發(fā)中肯定會遇到同步異步執(zhí)行的問題,這篇文章主要介紹了小程序開發(fā)中如何使用async-await并封裝公共異步請求的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • JavaScript+TypeScript實現(xiàn)并發(fā)隊列的示例

    JavaScript+TypeScript實現(xiàn)并發(fā)隊列的示例

    本文主要介紹了JavaScript+TypeScript實現(xiàn)并發(fā)隊列的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • javascript parseUrl函數(shù)(來自國外的獲取網(wǎng)址url參數(shù))

    javascript parseUrl函數(shù)(來自國外的獲取網(wǎng)址url參數(shù))

    在外國一博客看到一個很好的函數(shù),獲取網(wǎng)址url等地址參數(shù)。非常不錯,值得參考與收藏。
    2010-06-06

最新評論

寿宁县| 西贡区| 武宣县| 舒城县| 收藏| 饶平县| 棋牌| 天长市| 汉川市| 牡丹江市| 青州市| 东丰县| 南康市| 班戈县| 台中县| 玛纳斯县| 钟祥市| 忻城县| 新丰县| 奉节县| 荔波县| 石城县| 辽阳市| 峨边| 左权县| 北辰区| 龙里县| 九江市| 孝义市| 梁河县| 恩施市| 翼城县| 辰溪县| 青龙| 泗水县| 黄陵县| 方山县| 绵阳市| 石嘴山市| 南郑县| 南开区|