我有檔案中的資料。當我想讀出時,控制臺不會對其進行編碼。當我只是將其中的一部分復制到我的代碼中并列印出來時,它就可以正常作業了。
預期結果:
var data =`
"PaymentMode": "CARDPAYMENT",
"GrossDeliveryPrice": "1999.00",
"GrossCODFee": "0.00",
"CourierName": "fut\u00e1rszolg\u00e1lata",
"BillingAddress": {
"City": "P\u00fcsp\u00f6klad\u00e1ny",
"Street": "Kolozsv\u00e1ri, 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": "fut\u00e1rszolg\u00e1lata",
"BillingAddress": {
"City": "P\u00fcsp\u00f6klad\u00e1ny",
"Street": "Kolozsv\u00e1ri, 19\/1",
為什么它沒有轉換成正確的格式?
uj5u.com熱心網友回復:
利用
const fs = require('fs');
const file = fs.readFileSync(__dirname '/logs/file.txt', {encoding:'utf8', flag:'r'});
const result = file.replace(/\\u([\d\w]{4})/gi, function (match, grp) {
return String.fromCharCode(parseInt(grp, 16));
});
console.log(result);
作為這個
const result = file.replace(/\\u([\d\w]{4})/gi, function (match, grp) {
return String.fromCharCode(parseInt(grp, 16));
});
將\之后的單詞替換/更改為特殊單詞。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/536440.html
標籤:节点.jsutf-8
