6

我需要将字符串编码为 Javascript 文本。

通过谷歌搜索,我发现 了非常有用的功能SourceCodeEscapers.javascriptEscaper,它应该在com.google.common.escape.CharEscaper包中的 Guava 中。

但在实际的 Guava 13.0.1 版本中似乎并不存在。(Dzone也有关于 Release 11 中新的 CharEscapers 的说明,但我在发行说明中找不到任何关于它的信息。)

班级CharEscaper搬家了吗?从来没有在番石榴中吗?它会在未来的版本中出现吗?

4

2 回答 2

6

它还没有在 Guava 中,但它会在 Guava 中。据我了解,在我们发布 API 并锁定支持向后兼容性之前,该 API 仍在进行调整和完善。

于 2012-09-04T12:08:36.213 回答
0

在 Guava 20 中有许多转义器,但没有一个为 JavaScript 提供转义方法。Apache Commons StringEscapeUtils提供了这样的方法(包括“unes​​cape”版本),从我测试的结果来看,它似乎工作得相当好,但奇怪的是它被标记为已弃用。也许太复杂而无法权威地处理??

为了清楚用例,我曾经StringEscapeUtils#escapeEcmaScript以一种可以逐字放置的方式转义 Java 字符串(实际上是 JSON 字符串),作为生成的 JavaScript 代码中的文字(在'..内),它运行良好(如此处'描述)。不过,还没有尝试过兄弟 unescape 方法。

于 2017-07-19T21:08:06.817 回答