使用 javascript 将此 unicode 转换为字符串(泰语)

Convert this unicode to string with javascript (Thai Language)

มอเตอร์ไซค์

我可以用JS把这个unicode转成字符串吗? (这是泰语)

我用

console.log(String.fromCharCode("มอเตอร์ไซค์"));

而且这是不正确的。如果正确,它将显示มอเตอร์ไซค์

您的 Unicode 字符串使用 HTML 实体符号进行编码。一般来说,这意味着无论对字符串进行何种编码,它都希望它最终出现在 HTML 文档的中间,HTML 解析器可以在其中看到它。

如果您以某种方式在浏览器中获得 JavaScript 中的该字符串,您可以通过让浏览器解析它来获得编码的 Unicode:

var str = "มอเตอร์ไซค์";
var elem = document.createElement("div");
elem.innerHTML = str;
alert(elem.textContent);

string.fromCharCode() 函数需要一个或多个 numeric 个参数;它不会理解 HTML 个实体。因此,如果你在浏览器中 not(比如,如果你在 Node.js 程序或类似的程序中得到了字符串),你可以用你的自己的代码:

var str = "มอเตอร์ไซค์";
var thai = String.fromCharCode.apply(String, str.match(/x[^;]*;/g).map(function(n) { return parseInt(n.slice(1, -1), 16); }));

只有当涉及的代码点在前 64K 个值内时,该转换才有效。

您可能想要这样的东西:

var input = "มอเตอร์ไซค์";

var output = input.replace(/&#x[0-9A-Fa-f]+;/g,
                           function(htmlCode) {
                               var codePoint = parseInt( htmlCode.slice(3, -1), 16 );
                               return String.fromCharCode( codePoint );
                           });