用错误的编码构造了String,怎么还原得到原来的byte[]???
是这样的:
String s = new String( "中文 ".getBytes(), "utf-8 ");
String ss = new String(s.getBytes( "utf-8 ")), "gb2312 ");
System.out.println(ss); //为乱码
也就是说已开始我不知道byte[]所采用的编码,就用默认的utf-8,后来发现不对,想用已用utf-8编码的String恢复原内容
该怎么办呢?
------解决方案--------------------为什么要还原呀,程序错啦,改程序呀?
------解决方案--------------------不能吧.我不会.
------解决方案--------------------很难再转换回去.
------解决方案--------------------通过编码转化后,再还原比较麻烦
------解决方案--------------------就象熟的鸡蛋
------解决方案--------------------由非 utf-8 码,转 utf-8 编码时,进行了移位操作,将原本字符的重要信息位移掉了,没有办法再转回来了。