ByteArrayOutputStream编码问题

问题描述:

我有编码问题,在我从网站上下载RSS源的数据后。有些角色不能正确解读。 我使用HttpResponse.getEntity()并放入循环读取inputStream并写入ByteArrayOutPutStream。ByteArrayOutputStream编码问题

E.g. ByteArrayOutPutStream bs; 写上“bs”后,我用String test = bs.toString(“UTF-8”);

但有些性格就这样产生了:Mytestï¼è¾å¸éï¼å°±è¢«æèªé²å¥é»åéμ件系Cμ±ä¸äºéç¥A®¢æ¶

我不能转换的字符,任何理念。

谢谢

这不是在UTF-8编码,很可能在Big5编码(你的问题的历史证明,你从中国/香港是)。

MYTEST簿翘痴职畴绣蒙簿翘畴箪篑痴瞽窜疆痴秾蒙简畴睑蒙坛畴箫蒙缮瓣坛绕瘪粮坛瘪缮篑瓣绣瓣翻蒙瘪睑面弹簧瞽疆绕

你应该能够确定自己通过读取HttpEntity#getContentType()。它应该返回像

text/html;charset=Big5 
+0

@BalusC:你可以请让我知道,你是如何发现,这将是有益的。 – 2011-04-08 13:01:35

+0

@Suresh:使用UTF-8将它们转换回字节,然后读取十六进制模式。 – BalusC 2011-04-08 13:19:58

+0

它不起作用,对的就是汉字。但是,当我以xml格式检索字符串时,它显示:???????xml version =“1.0”encoding =“utf-8”?>和getContentType()。Name始终返回“Content-Type”和value return“text/xml“它不返回chartset;来自HttpEntity.getContentType()。 – user553710 2011-04-08 14:47:56