嗨!我有一个以 ISO-8859-2 编码的网页内容。如何将此字符集编码的流转换为 java 的 UTF-8。我正在尝试下面的代码,但它不起作用。它弄乱了一些角色。还有其他方法可以做到这一点吗?
BufferedInputStream inp = new BufferedInputStream(in);
byte[] buffer = new byte[8192];
int len1 = 0;
try{
while ( (len1 = inp.read(buffer)) != -1 )
{
String buff = new String(buffer,0,len1,"ISO-8859-2");
stranica.append(buff);
}
最佳答案
尝试使用 InputStreamReader 和字符集:
InputStreamReader inp = new InputStreamReader(in, Charset.forName("ISO-8859-2"));
BufferedReader rd = new BufferedReader(inp);
String l;
while ((l = rd.readLine()) != null) {
...
}
如果您收到 UnsupportedCharsetException
,您就知道您的问题是什么...此外,使用 inp.getEncoding()
您可以检查真正使用的编码。
关于java - android中如何设置字符串字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3098207/