我正在研究一个解析RTF文件并进行一些查找和替换的节点模块。我已经想出了一种用转义的unicode here表示的特殊字符的解决方案,但是在涉及CJK字符时遇到了麻烦。是否可以通过JavaScript或使用库或内置方法来进行这些转换?
示例:
以纯文本格式查看的RTF文件包含:
Now testing symbols {鈴:200638d}
在NodeJS中进行解析时,文件的这一部分看起来像:
Now testing symbols \{
\f1 \'e2\'8f
\f0 :200638d\}\
我了解到\f1
和\f0
表示字体更改,而\'e2\'8f
块是实际字符...但是我该如何使用\'e2\'8f
并将其转换回来转换为鈴
,还是将鈴
转换为\'e2\'8f
?
我尝试用不同的编码查找字符,但没有看到与\'e2\'8f
类似的内容。我知道RTF控件\'hh
是A hexadecimal value,based on the specified character set (may be used to identify 8-bit values)
(source),或者更好的定义来自microsoft RTF Spec; %xHH (OCTET with the hexadecimal value of HH)
(download),但我不知道如何处理这些信息才能进行转换。