gpt4 book ai didi

如果我打开 xml 文件,Emacs 会显示中文字符

转载 作者:行者123 更新时间:2023-12-01 07:29:39 26 4
gpt4 key购买 nike

我有一个 xml 文件。当我用 Emacs 打开它时,它显示中文字符(见附件)。这发生在我装有 Emacs 和记事本的 Windows 7 PC 以及我的 Windows XP 上(见图 A)。图B是A的hexl-mode。

enter image description here

如果我用同事的Windows XP PC用记事本打开文件,没有汉字,只有一个奇怪的字符。我将其保存为 txt 文件并通过电子邮件将其发送到我的 Windows7-PC(见图 C)。奇怪的字符被替换为“?”。 (由于限制我无法使用我同事的PC 并复制带有奇怪字符的记事本文件)。

我的问题:似乎 XML 文件中的某些字符会产生问题。我不知道该如何应对。有人知道我该如何解决这个问题吗?它与编码有关吗?感谢提示。

最佳答案

根据图 B,该文件似乎是混合使用大端和小端 UTF-16 编码的。它以 fe ff 开头,这是big-endian UTF-16的字节顺序标记,XML声明(<?xml version=...)也是big-endian,但以<report开头的部分是小端。您可以分辨出来,因为字母出现在十六进制显示的第一部分的偶数位置,但在更下方的奇数位置。

此外,在 00 00 之前有一个空字符(编码为两个字节,<report) . XML 文档中不允许使用空字符。

但是,由于某些 XML 元素在图 A 中正确显示,因此文件中似乎存在混淆。文件已损坏,这可能需要手动解决。

如果文件中没有非 ASCII 字符,我会尝试在 Emacs 中以二进制形式打开文件(M-x revert-buffer-with-coding-system 并指定 binary),删除所有空字节(M-% C-q C-@ RET RET),保存文件并希望一切顺利。

另一种可能的解决方案是用汉字标记每个出现的区域并用M-x recode-region重新编码。 , 给“文本真的在”作为 utf-16-le和“但被解释为”为utf-16-be .

关于如果我打开 xml 文件,Emacs 会显示中文字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18311399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com