普通字符串赋值:
var str1 = "\320";
console.log(str1); // "Ð"
原始字符串赋值:
var str2 = String.raw`\320`;
console.log(str2); // "\320"
在原始字符串中,反斜杠不会被解释。我需要解释它们,以便“\320”将变成“Д。我是否必须将原始字符串转换为普通字符串。如果是这样,怎么办?如果不是这样,我还应该做什么以及怎么做?
最佳答案
问题是,此代码是八进制的,并且由于这些代码是用语言符号映射的,因此 JavaScript 在定义新字符串时会解释它。 您可以做的是制作所需的所有符号的映射,其中键作为实际字符串,值作为实际符号。
对于前 -
var map = {
"\\320": "\320"
}
console.log(map);
现在您可以在 map 中搜索文本并获取所需的值。
var str2 = String.raw`\320`;
var s = map[str2];
console.log(s);
要制作 map ,请尝试以下操作 - 访问此网站 - https://brajeshwar.github.io/entities/
并在控制台上运行此代码
// for latin
var tbody = document.getElementById("latin");
var trs = tbody.children;
var map = {};
for(i=1;i<trs.length;i++) {
console.log(trs[i].children[6].innerText);
key = trs[i].children[6].innerText;
value = trs[i].children[1].innerText;
map[key] = value;
}
现在控制台映射,将其字符串化,然后将字符串粘贴到代码中并解析它。 我仅对拉丁语执行此操作,对其他元素也执行此操作。
关于javascript - 原始字符串到普通字符串 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50675023/