我有一个 db varchar 字段看起来像 Java StringBuffer 序列化的结果:
íjava.lang.StringBuffer [为这个问题删除了许多随机字符]
如何将其反序列化为字符串?
我有一个 db varchar 字段看起来像 Java StringBuffer 序列化的结果:
íjava.lang.StringBuffer [为这个问题删除了许多随机字符]
如何将其反序列化为字符串?
基本上你需要这样做:
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();
你必须希望你能真正得到序列化产生的原始字节,并且它们在进出数据库的过程中没有被转换。