我正在解析由 Word 2003+ 生成的 RTF 1.5+ 文件,这些文件可能包含其他语言的内容。此内容通常编码为十六进制文字 (\'xx)。我想将这些文字转换为 unicode 值。
我通过查找 ansicpg (\ansi\ansicpg1252) 知道我的文档的代码页。
当我使用 ansicpg 代码页解码为 Unicode 时,许多语言(如法语)似乎都转换为我期望的 Unicode 字符值。
但是,当我看到俄语文本(如下所示)时,代码页 1252 会将内容解码为乱码。
\f277\lang1049\langfe1033\langnp1049\insrsid5989826\charrsid6817286 \'d1\'f2\'f0\'e0\'ed\'e8\'f6\'fb \'e1\'e5\'e7 \'ed\' e0\'e7\'e2\'e0\'ed\'e8\'ff。\'dd\'f2 \'e0 \'f1\'f2\'f0\'e0\'ed\'e8\'f6\'e0 \'ed\'e5 \'e4\'ee\'eb\' e6\'ed\'e0 \'ee\'f2\'ee\'e1\'f0\'e0\'e6\'e0\'f2\'fc\'f1\'ff \'e2 \'f2\ 'e0\'e1\'eb\'e8\'f6\'e5 \'e2 \'f1\'ee\'e4\'e5\'f0\'e6\'e0\'ed\'e8\'e8 .
我假设 lang1049、langfe1033、langnp1049 应该为我提供线索,以便我可以以编程方式为它们引用的文本选择不同的(非默认)代码页?如果是这样,我在哪里可以找到解释如何将 lang* 代码映射到代码页的信息?还是我应该寻找其他一些 RTF 命令/指令来为我提供我正在寻找的信息?(或者我必须使用 \f277 作为字体参考,看看它是否有相关的代码页?)