修复Java中的序列化HTML

修复Java中的序列化HTML,java,html,serialization,escaping,Java,Html,Serialization,Escaping,我有一些经过序列化的东西,所以在Java中,每个引号都被替换为 " 是否有一种通用的、健壮的解决方案来修复此类字符串并将其转换为普通java字符串,而不使用那些“转义”字符?您可以使用: NewString = BrokenString.replace("&quot", "\""); 你可以用 产生 “hello”我建议您将escape[](我是其作者)作为Java的通用escape/unescape库。它支持HTML4、HTML5、JavaScript、CSS等

我有一些经过序列化的东西,所以在Java中,每个引号都被替换为

"
是否有一种通用的、健壮的解决方案来修复此类字符串并将其转换为普通java字符串,而不使用那些“转义”字符?

您可以使用:

NewString = BrokenString.replace("&quot", "\""); 
你可以用

产生


“hello”
我建议您将escape[](我是其作者)作为Java的通用escape/unescape库。它支持HTML4、HTML5、JavaScript、CSS等


与Apache Commons Lang中的StringEscapeUtils的重要区别在于,Unbecape支持取消跳过整个HTML5实体集,这些实体超过2000('entity'=
&whatever;
),整个Unicode字符集(高达U+10FFFF,而不仅仅是U+FFFF),并且速度更快,根据场景的不同,最高可达50倍,因此,它更适合迭代或密集的unescape操作。

这将是所有操作的替代。但不管怎样,那是不好的。我想确保我已经得到了这种类型的每一个替换。在序列化之前html是否保存在字符串中?如果是这样,您可以将字符串分解成一个字符串数组,其中每个字符串从发生这些更改的地方开始/结束,然后在反序列化之后重新构建字符串并插入相关字符!
public static void main(String[] args) {

    String hello = ""hello"";
    System.out.println(StringEscapeUtils.unescapeHtml4(hello));

}