我有一个db varchar字段看起来像是Java StringBuffer序列化的结果:
íjava.lang.StringBuffer [many random characters here removed for this question]
如何将其反序列化为String?
答案 0 :(得分: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();
您必须希望能够真正获得序列化产生的原始字节,并且它们在进出数据库的过程中没有被转换。