【问题标题】:Why I get Malformed UTF-8 data error on crypto-js? basic decode为什么我在 crypto-js 上收到格式错误的 UTF-8 数据错误?基本解码
【发布时间】:2020-08-16 23:57:27
【问题描述】:

尝试使用 crypto-js 解码文件时出错(包含长 base64 编码字符串)

错误:UTF-8 数据格式错误

我做错了什么,我该如何解决?

const fs = require("fs");
const CryptoJS = require("crypto-js");

console.log(decode());

function decode() {
  // INIT
  const data = fs.readFileSync("./base64.txt", "utf-8"); // Base64 encoded string
  const encoded = data.toString();

  // PROCESS
  const encodedWord = CryptoJS.enc.Base64.parse(encoded); // encodedWord via Base64.parse()
  const decoded = CryptoJS.enc.Utf8.stringify(encodedWord); // decode encodedWord via Utf8.stringify() 
  return decoded;
}

【问题讨论】:

    标签: javascript node.js base64 cryptojs


    【解决方案1】:

    我认为您错误地读取了 base64 文件。 试试这样,看看是否有效;

    const data = fs.readFileSync("./base64.txt", {encoding: 'base64'});
    

    然后将数据直接传递给,

    const encodedWord = CryptoJS.enc.Base64.parse(data);
    

    或者

    const data = fs.readFileSync("./base64.txt");
    const encoding = data.toString('base64');
    

    看看这是否能解决问题。

    【讨论】:

    • 谢谢它的工作方式,我有另一个问题现在你可以查看我的个人资料。
    猜你喜欢
    • 2020-01-26
    • 2022-08-21
    • 2019-11-23
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多