• electron Nodejs 打开文件中文乱码


    之前版本:

    import fs from 'fs'
    
    fs.readFile(txtFilePath, 'utf-8', function (err, dataText) {
              console.info("同步文件名In:", basename)
              //var fileName1 = basename;
              if (err) {
                console.error(err);
              }
              else {
                //这儿不管换什么编码都是中文乱码
                console.log(dataText);
        }
    });       

    解决版本:

    package.json

     
    "iconv-lite":"0.6.3"
    import fs from 'fs'
    const iconv = require('iconv-lite');
    
    var fileStr = fs.readFileSync(txtFilePath, {encoding:'binary'});
    var str = iconv.decode(fileStr,'gb2312');
    console.info("正确内容:", str);

    下面是编码格式参考:

    ascii- 仅适用于 7 位 ASCII 数据。这种编码速度很快,如果设置,将剥离高位。
    
    utf8- 多字节编码的 Unicode 字符。许多网页和其他文档格式使用 UTF-8。
    
    utf16le- 2 或 4 个字节,小端编码的 Unicode 字符。支持代理对(U+10000 到 U+10FFFF)。
    
    ucs2 - 'utf16le' 的别名。
    
    base64- Base64 编码。从字符串创建缓冲区时,此编码还将正确接受 RFC4648 第 5 节中指定的“URL 和文件名安全字母表”。
    
    latin1 - 一种将缓冲区编码为单字节编码字符串的方法(由 IANA 在 RFC1345 第 63 页中定义,作为 Latin-1 补充块和 C0/C1 控制代码)。
    
    binary - 'latin1' 的别名。
    
    hex - 将每个字节编码为两个十六进制字符。
  • 相关阅读:
    python入门_老男孩_文件操作
    python入门_老男孩_列表和字典循环删除的正确方法
    python入门_老男孩_集合_元祖
    linux入门_韩顺平_复习版_文件目录类
    python-re模块
    sorted()函数
    偏函数+高阶函数
    生成器
    闭包
    匿名函数
  • 原文地址:https://www.cnblogs.com/xiaoruilin/p/16263276.html
Copyright © 2020-2023  润新知