python - 转义双字节/多字节字符的 RTF 转换

标签 python perl unicode rtf utf

在我拥有的 RTF 文件中(字符编码 ansicp1251)

出现这些转义的编码字符:

\'a1\'dd

当我在 RTF 编辑器中打开它时,它正确打开为 unicode 符号 U+2265 。在 RTF 文档中,它将这些转义字符列为十六进制代码。但是,将其列为 hex(A1) + hex(DD) 是不正确的,因为它们代表两个不同的字符,而我只想要 unicode U+2265 ≥< 的一个字符.

我在 EUC-CN = 中文 Windows = Mac OS 中文简体编码字符集中找到了 A1DD 的匹配项,它可以正确识别 unicode 符号 U+2265。

但是,此编码未在文件中的任何位置列出,并且我不确定我的 RTF 查看器如何知道我不需要 hex(A1) + hex(DD) 而我需要想要这个双字节字符。

我在谷歌上进行了广泛的搜索,但一无所获;有很多其他人对此有报告,但我还没有看到解决方案。我想用 Perl/Python 等编写一个脚本来处理这种转换,而不依赖于可以读/写 RTF 格式的 Windows 工具。

最佳答案

RTF 文件中用于 'xx 字节转义的编码因字体而异。因此,您通常必须对 RTF 进行足够的解析才能找到当前的 \fcharset 定义,然后才能决定如何对其进行解码。这里你可能有 fcharset 134 又名代码页 936 又名 GB。

Background

关于python - 转义双字节/多字节字符的 RTF 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29516412/

相关文章:

python - 在 python 中迭代写入 XML 节点

python - SQL服务器触发器可以调用python函数吗?

python - 在 Python 中将文本与嵌套的 OrderedDict 分开

perl - 可以使用 Perl 的 Text::CSV_XS 从 CSV 中删除列吗?

r - R 图形中的阿拉伯语文本

python - 格式化 Unicode 的 Unicode 表示?

python - 需要缩放的抛物面优化

perl - 如何使用 Perl 的 Remote::Selenium::WebElement 来验证超链接将带我前往的 URL?

sql-server - 无法为 CMS WebGUI 创建数据库链接

python - CSV、Python : Using DictWriter correctly (ValueError: dict contains fields not in fieldnames)