我有一个使用 ISO Latin 编码的属性文件,但使用特殊字符作为 UTF-8 转义序列,例如以下字符串:
Einstellungen l\u00f6schen
我尝试了很多不同的组合iconv
, punycode
and JSON.parse
但他们都没有做我需要的事情,即将这些字符串转换为适用于 JavaScript 的正确 UTF8 格式。无论我如何处理,当我打印字符串时,它们总是具有 UTF8 转义序列。
请注意,该文件是一个较长的文件,带有一些换行符等(如果这有什么区别)。
如何以打印正确字符的方式读取该文件?
您必须将其解析为字符串文字,因此 unicode 代码由引擎解析,因此您必须在通过 JSON.parse() 运行它之前将其用引号括起来。
JSON.parse('"' + str + '"');
//if you use " in your string, you would have to escape it
JSON.parse('"' + str.split('"').join('\\"') + '"');
或者您搜索 unicode 代码并自行替换
str.replace(/\\u([0-9a-fA-F]{4})/g, (m,cc)=>String.fromCharCode("0x"+cc));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)