unicode - 如何将 ANSI 文本转换为 Unicode?

标签 unicode character font-face rtf

我想将 RTF 文本转换为 Unicode。在 RTF 字体表中,可以找到字体或字体的名称(例如 Arial Cyr、Courier Greek)以及与其一起使用的字符集(0-255)。那么如何编写一个函数将具有这些设置的字符代码(0-255)转换为 Unicode?

正如我所见,像 Greek、Cyr、Tur 等后置标签会影响显示字符的字形,而字符集也会影响它。因此该函数可以具有以下输入参数:

fontname postfix, font charset, character code

但是接下来会发生什么呢?还是我走错路了?

最佳答案

RTF 的发明早于 Unicode。它肯定不是 ANSI 文本,RTF 仅使用 ASCII,它使用相当不完美的字符集与以十六进制编码的非 ASCII 字符以及对字符集的引用的混合。映射也并不完美,许多 Unicode 代码点没有对应的字符集。

您将花费一生的时间来创建自己的 RTF 到 Unicode 转换器。利用现有的解决方案,大多数平台都有一个。在 Windows 上,这就是 RichEdit 控件。如果您使用 .NET,则特别简单,使用 RichTextBox 类,分配其 Rtf 属性并读回其 Text 属性。这是 utf-16 编码的 Unicode。

关于unicode - 如何将 ANSI 文本转换为 Unicode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13630192/

相关文章:

php - 一系列 unicode 点 PHP 的正则表达式

javascript - 在 JavaScript 中重复一个字符串多次

javascript - 使用 Cordova 部署 android build 后出现错误字符

css - 在我的 CSS 中使用 Lato 字体 (@font-face)

css - 使用@font-face 在 IE 中闪烁无样式的内容

PHP 文件上传 - 处理阿拉伯文/中文/日文文件名

unicode - 为 jruby 1.8.2( native 实现)寻找带有规范化器(NFD、NFKD、NFC、NFKC)的 gem

windows - 带有 git-bash 的 Unicode (utf-8)

c++ - 如何将 char* 转换为 char 数组

css - @font 在任何浏览器中都不起作用,一切看起来都正确