java中的中文字节流不能正确的翻译出来怎么解决:如下代码,求高人指教

byte[] bytes 这个bytes中存的是中文字节流
如果经过下面两句话
String ss = new String(bytes);
ss = new String(ss.getBytes(),"UTF-8");
此时ss中的某些中文就没有正确翻译出来。

但是直接String ss = new String(bytes,"utf-8");此时ss中的中文都是正确的,请问这其间有何区别,

这么看来应该是字节流头被改变了吧,你试着输出一下bytes看看呗
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-04
先把bytes转成String再转成byte然后以UTF-8又转成String
这不是犯傻么.第一次转没设编码ss就已经转了,你再用utf-8多少次都变不回去追问

用ss.getBytes()取出ss的字节流你没看到?

追答

new String(bytes)

这样的是默认用ISO-8859-1编码的
你都编码过一次了,再getBytesw你觉得内容还一样么?

本回答被网友采纳
第2个回答  2012-08-03
把UTF-8换成GBK试试