为什么utf8编码不能与filesync一起工作?



我在文件中有数据。当我想要读出时,控制台不会对它进行编码。当我把它的一部分复制到我的代码中并打印出来时,它就能正常工作了。

预期结果:

var data =`
"PaymentMode": "CARDPAYMENT",
"GrossDeliveryPrice": "1999.00",
"GrossCODFee": "0.00",
"CourierName": "futu00e1rszolgu00e1lata",
"BillingAddress": {
"City": "Pu00fcspu00f6kladu00e1ny",
"Street": "Kolozsvu00e1ri, 19/1",`

console.log(data);
----------------
"PaymentMode": "CARDPAYMENT",
"GrossDeliveryPrice": "1999.00",
"GrossCODFee": "0.00",
"CourierName": "futárszolgálata",
"BillingAddress": {
"City": "Püspökladány",
"Street": "Kolozsvári, 19/1",

但是,当读取文件时,我得到了以下结果:

const fs = require('fs');

const data = fs.readFileSync(__dirname + "/logs/file.txt",
{encoding:'utf8', flag:'r'});

console.log(data);
------------------------
"PaymentMode": "CARDPAYMENT",
"GrossDeliveryPrice": "1999.00",
"GrossCODFee": "0.00",
"CourierName": "futu00e1rszolgu00e1lata",
"BillingAddress": {
"City": "Pu00fcspu00f6kladu00e1ny",
"Street": "Kolozsvu00e1ri, 19/1",

为什么没有转换成正确的格式?

使用

const fs = require('fs');
const file = fs.readFileSync(__dirname + '/logs/file.txt', {encoding:'utf8', flag:'r'});
const result = file.replace(/\u([dw]{4})/gi, function (match, grp) {
return String.fromCharCode(parseInt(grp, 16));
});
console.log(result);

const result = file.replace(/\u([dw]{4})/gi, function (match, grp) {
return String.fromCharCode(parseInt(grp, 16));
});

替换/更改后面的单词

最新更新