如何在 NodeJS 中编码一个 unicode 字符
How to encode a unicode character in NodeJS
我正在使用 NodeJS 从电子表格中读取一系列键和值以构建 JSON 对象,然后将该对象写入文件,例如|键|值|成为对象{"key":"value" }
我正在使用 JSON.stringify 将对象转换为字符串,然后将此字符串写入文件
fs.writeFileSync('object.json', JSON.stringify(object, null, 2));
电子表格包含一些 unicode 字符,需要将其存储为编码值,例如é 作为 \u00E9,上面的代码片段没有处理它。
如何对文件中的 unicode 字符进行编码,例如,"Numéro" 存储为 "Num\u00E9ro"
您可以使用插件来编码您的 char 字符串,或者您可以使用简单的正则表达式手动完成:
exports.unicodeAccent = function(str)
{
var charset = [
"€",
"À",
"Á",
"Â",
"Ã",
"Ä",
"Å",
"à",
"á",
"â",
"ã",
"ä",
"å",
"Ò",
"Ó",
"Ô",
"Õ",
"Õ",
"Ö",
"Ø",
"ò",
"ó",
"ô",
"õ",
"ö",
"ø",
"È",
"É",
"Ê",
"Ë",
"è",
"é",
"ê",
"ë",
"ð",
"Ç",
"ç",
"Ð",
"Ì",
"Í",
"Î",
"Ï",
"ì",
"í",
"î",
"ï",
"Ù",
"Ú",
"Û",
"Ü",
"ù",
"ú",
"û",
"ü",
"Ñ",
"ñ",
"Š",
"š",
"Ÿ",
"ÿ",
"ý",
"Ž",
"ž"
];
for(var i = 0; i < charset.length; i++)
{
var code = ("00000000"+(charset[i].charCodeAt(0).toString(16))).slice(-4);
var unicodeStr = "\u"+code;
var re = new RegExp(charset[i], "gm");
str = str.replace(re, unicodeStr);
}
return str;
}
我正在使用 NodeJS 从电子表格中读取一系列键和值以构建 JSON 对象,然后将该对象写入文件,例如|键|值|成为对象{"key":"value" }
我正在使用 JSON.stringify 将对象转换为字符串,然后将此字符串写入文件
fs.writeFileSync('object.json', JSON.stringify(object, null, 2));
电子表格包含一些 unicode 字符,需要将其存储为编码值,例如é 作为 \u00E9,上面的代码片段没有处理它。
如何对文件中的 unicode 字符进行编码,例如,"Numéro" 存储为 "Num\u00E9ro"
您可以使用插件来编码您的 char 字符串,或者您可以使用简单的正则表达式手动完成:
exports.unicodeAccent = function(str)
{
var charset = [
"€",
"À",
"Á",
"Â",
"Ã",
"Ä",
"Å",
"à",
"á",
"â",
"ã",
"ä",
"å",
"Ò",
"Ó",
"Ô",
"Õ",
"Õ",
"Ö",
"Ø",
"ò",
"ó",
"ô",
"õ",
"ö",
"ø",
"È",
"É",
"Ê",
"Ë",
"è",
"é",
"ê",
"ë",
"ð",
"Ç",
"ç",
"Ð",
"Ì",
"Í",
"Î",
"Ï",
"ì",
"í",
"î",
"ï",
"Ù",
"Ú",
"Û",
"Ü",
"ù",
"ú",
"û",
"ü",
"Ñ",
"ñ",
"Š",
"š",
"Ÿ",
"ÿ",
"ý",
"Ž",
"ž"
];
for(var i = 0; i < charset.length; i++)
{
var code = ("00000000"+(charset[i].charCodeAt(0).toString(16))).slice(-4);
var unicodeStr = "\u"+code;
var re = new RegExp(charset[i], "gm");
str = str.replace(re, unicodeStr);
}
return str;
}