日期:2014-05-20  浏览次数:20686 次

用错误的编码构造了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 编码时,进行了移位操作,将原本字符的重要信息位移掉了,没有办法再转回来了。