什么是用于在Java中编码HTML实体的轻量级库?

时间:2011-12-08 11:15:39

标签: java html-entities

我需要的是Java方法或轻量级库,它将特殊字符编码为HTML实体。所以&成为& amp; “变成& quot;£变成& pound;等等。

我说“轻量级”,因为我目前所有的搜索都是Apache Commons Lang StringEscapeUtils类,它完美地完成了这项工作,但是我的程序大小从50Kb增加到350Kb。

Apache Commons Lang库是完美的,除了大小。因此,如果有一种方法可以减小大小(或提取它们用于编码的方法),这将是很好的。否则,如果某人有另一种做同样事情的方法或图书馆,我们将不胜感激。

3 个答案:

答案 0 :(得分:0)

你在手机上部署了吗?否则,300 KB就没什么了。

无论如何,要编码的特殊字符不多:<>&"'。如果您使用能够处理所有字符的编码(如UTF-8),则所有其他字符都不需要转义。因此,自己构建这样的方法应该非常容易。

答案 1 :(得分:0)

尝试获取该库的源代码(StringEscapeUtils)并使用必要的源代码。

答案 2 :(得分:0)

如果您对&lt;的名为的实体感到满意。取代。对于字符&gt; 127,&amp;,“和'和数字实体(如&amp;#12345; ),然后java已经知道转换它们.JTextPane处理HTML这样,因为它是不知不觉的编码。

// Minimum overhead:
JTextPane tp = new JTextPane();
tp.setContentType("text/html");
tp.setText(html); // read?
String htmlWithEntities = tp.getText(); // Does this work?

最好使用HTMLEditorKit并创建HTMLDocument。

如果您想避免使用文档对象模型,可以自己轻松完成。见JB Nizet。