如何将转义的 unicode 字符从 XML 文件读取到 Javascript



我有一个XML属性,其中包含一个Unicode字符,我需要将其读入JavaScript并采取行动,我很难理解转义的工作原理。我的 XML 文件可能包含:

<item foo="u265c" />

我使用 XMLHttpRequest 带来了 XML 文件,但我得到以下结果:

x = itemObject.getAttribute('foo') // x = "\u265c"
y = decodeURIComponent(x)          // y = "\u265c"

我在这里错过了什么?我希望y是解码的Unicode字符。我可以创建一个函数来捕获和解释\u字符串并对其进行转换,但我假设有一种更优雅的方式来处理它。

我应该以不同的方式将其存储在XML文件中,还是应该在JavaScript方面做一些不同的事情?感谢任何人都可以提供的任何帮助。

XML或HTML中的u265c Unicode字符将表示如下:&#x265c;.
看到它在这里工作。

你也可以写一个转换函数:
工作示例

<!DOCTYPE html>
<html>
  <head>
    <style>
    </style>
  </head>
  <body>
    <input type="button" value="convert" onClick="convert('u265c')"/>
    <span id="myspan"></span>

    <script>
    function convert(unchar)
      {
        var base = '&#x';
        var fixed = unchar.replace("u","");
        document.getElementById("myspan").innerHTML = base + fixed + ";";
      }
    </script>
  </body>
</html>
约定u265c

XML或任何XML处理软件没有任何意义。(本机 XML 表示形式将&#x265c;(。

如果你有一个文档,由于某种原因,作者决定将字符表示为u265c而不是&#x265c;,那么你将不得不找到某种在应用程序级别对其进行解码的方法。在 XPath 2.0 中,编写一个将十六进制转换为十进制的简单函数并不难,然后您可以使用 codepoints-to-string() 函数将十进制数转换为 Unicode 字符。

最新更新