public static void test() throws Exception{ ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(baos); out.writeObject(new StringBuffer("Hello\uD801\uDFFE")); System.out.println(baos.toString()); byte bArray[] = baos.toByteArray(); System.out.println(bArray); InputStream is = new ByteArrayInputStream(bArray); ObjectInputStream in = new ObjectInputStream(is); Object obj = in.readObject(); System.out.println(obj); }