![XML 文本文件中包含“^@”字符?](https://linux22.com/image/18148/XML%20%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E4%B8%AD%E5%8C%85%E5%90%AB%E2%80%9C%5E%40%E2%80%9D%E5%AD%97%E7%AC%A6%EF%BC%9F.png)
我有一个需要解析的 XML 文件。当我在nano中打开它时,nano给我消息(converted from Mac format)
。然而,每个字符之间都有一个^@
序列,如下所示:
^@t^@h^@e^@ ^@q^@u^@i^@c^@k^@ ...
这是什么格式,如何让它正确显示?我该如何转换它?
答案1
它可能是双字节格式UTF-16。 看看你是否能识别出BOM(字节顺序标记)文件头位于文件的开头。这将告诉您编码是否存在,尽管可能不存在。请注意,文本编辑器可能会向您隐藏此内容,因此您可能需要使用十六进制转储实用程序查看该文件,例如od
或类似的东西来查看 BOM。
存在一些可能有帮助的字符集转换实用程序。几个例子是iconv
和recode
。您可以使用其中之一将文件重新编码为适合文本编辑器的格式。
如果您需要以编程方式进行翻译,大多数语言(例如 Python)都有用于编码方案之间映射的库。 www.unicodetools.com显示了各种语言的一些相关咒语。可以找到一个很好的 Unicode FAQ这里和 Unicode 联盟的网站关于这个主题有很多很多有用的资源。