首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript/NodeJS RTF CJK转换

JavaScript/NodeJS RTF CJK转换
EN

Stack Overflow用户
提问于 2019-11-29 20:44:28
回答 1查看 91关注 0票数 0

我正在开发一个节点模块,它解析RTF文件并执行一些查找和替换操作。我已经为用转义的unicode here表示的特殊字符想出了一个解决方案,但在遇到CJK字符时遇到了困难。在JavaScript中,有没有一种简单的方法来完成这些转换,无论是使用库还是内置?

示例:

以纯文本格式查看的RTF文件包含:

代码语言:javascript
复制
Now testing symbols {鈴:200638d}

在NodeJS中解析时,该文件的这一部分如下所示:

代码语言:javascript
复制
Now testing symbols \{
\f1 \'e2\'8f
\f0 :200638d\}\

我知道\f1\f0表示字体更改,而\'e2\'8f块是实际的字符...但是,如何获取\'e2\'8f并将其转换回,或者反过来,将转换为\'e2\'8f

我试着用不同的编码查找这个字符,但没有看到任何与\'e2\'8f有一点相似的东西。我知道RTF控件\'hhA 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),但我不知道如何处理这些信息来进行转换。

EN

回答 1

Stack Overflow用户

发布于 2019-12-07 01:12:07

我能够使用my RTF parser解析您的示例文件,并检索到正确的字符。

关键是\fonttbl命令,顾名思义,它定义了文档中使用的字体。作为每种字体定义的一部分,\fcharset命令确定要与该字体一起使用的字符集。您需要使用它来正确解释字符数据。

我的解析器将\fcharset的参数映射为Codeset名称here,然后将其转换为可用于检索正确的Charsethere的字符集名称。当你在Javascript中工作时,你的字符集处理显然是不同的,但希望这些信息能帮助你前进。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59105080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档