Как преобразовать строку в UTF-8 в Android?

Я использую парсер HTML под названием Jsoup для загрузки и анализа HTML-файлов. Проблема в том, что веб-страница, которую я соскабливаю, кодируется в кодировке ISO-8859-1 то время как Android использует UTF-8 (?). Это приводит к тому, что некоторые символы отображаются как вопросительные знаки.

Поэтому теперь я думаю, что я должен преобразовать строку в формат UTF-8.

Теперь я нашел этот класс под названием CharsetEncoder в Android SDK, который, я думаю, мог мне помочь. Но я не могу понять, как реализовать его на практике, поэтому я задаюсь вопросом, можно ли получить помощь с помощью практического примера.

UPDATE: код для чтения данных ( Jsoup )

 url = new URL("http://www.example.com"); Document doc = Jsoup.parse(url, 4000); 

Вы можете позволить Android выполнить эту работу за вас, прочитав страницу в байт [], а затем используя методы jSoup для синтаксического анализа объектов String.

Не забудьте указать кодировку, когда вы создаете строку из данных, считанных с сервера, с помощью правильного конструктора String.

Байт-кодировки и строки

 public static void main(String[] args) { System.out.println(System.getProperty("file.encoding")); String original = new String("A" + "\u00ea" + "\u00f1" + "\u00fc" + "C"); System.out.println("original = " + original); System.out.println(); try { byte[] utf8Bytes = original.getBytes("UTF8"); byte[] defaultBytes = original.getBytes(); String roundTrip = new String(utf8Bytes, "UTF8"); System.out.println("roundTrip = " + roundTrip); System.out.println(); printBytes(utf8Bytes, "utf8Bytes"); System.out.println(); printBytes(defaultBytes, "defaultBytes"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } // main