0

我的 Rails 应用程序存储包含 html 实体代码的字符串,例如“Θ”,它在浏览器页面上显示希腊字母和其他字符。为了在 Prawn 文档中显示这些相同的字符,我需要将“Θ”转换为“\u0398”。使用正则表达式,我可以从原始字符串中提取裸码点“0398”。但我无法使用它来创建包含“\u0398”的新字符串变量。

我尝试了许多字符串连接、插值甚至数组操作的变体,但没有任何乐趣。任何看起来像的东西

new_string_var = "\u" + my_codepoint

在“\u”处生成“无效的 Unicode 转义”错误。

任何看起来像的东西

new_string_var = "\\u" + my_codepoint

运行没有错误,但在对虾文档中插入文字字符串“\u0398”。

在 Ruby 中可以构造这样的字符串吗?有更好的方法吗?

4

1 回答 1

1

实际上,您不需要\uxxxx符号 - 这是为了在 Ruby 中显示。CGI.unescapeHTML(string_with_entities)从内置的 CGI 模块尝试。

于 2014-03-18T22:36:51.770 回答