1

我有一个 db varchar 字段看起来像 Java StringBuffer 序列化的结果:

íjava.lang.StringBuffer [为这个问题删除了许多随机字符]

如何将其反序列化为字符串?

4

1 回答 1

2

基本上你需要这样做:

byte[] varcharContents = ... // get the bytes of the field, not via a String
ObjectInputStream ois = 
    new ObjectInputStream(new ByteArrayInputStream(varcharContents));
StringBuffer sb = (StringBuffer)ois.readObject();
String s = sb.toString();

你必须希望你能真正得到序列化产生的原始字节,并且它们在进出数据库的过程中没有被转换。

于 2011-03-07T03:37:44.167 回答