为什么我在 crypto-js 上收到格式错误的 UTF-8 数据错误?基本解码
Why I get Malformed UTF-8 data error on crypto-js? basic decode
我在尝试使用 crypto-js 解码文件时遇到错误(包含长的 base64 编码字符串)
Error: Malformed UTF-8 data
我做错了什么,我该如何解决?
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;
}
我认为您对 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');
看看这是否解决了问题。
我在尝试使用 crypto-js 解码文件时遇到错误(包含长的 base64 编码字符串)
Error: Malformed UTF-8 data
我做错了什么,我该如何解决?
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;
}
我认为您对 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');
看看这是否解决了问题。