В Java для перекодировки строк из Windows 1251 в читаемый вид можно использовать подходящую комбинацию классов InputStreamReader
и BufferedReader
. Важно отметить, что кодировка, которую вы хотите использовать для вывода, зависит от вашей операционной системы.
Вот пример кода, который выполняет перекодировку строк из Windows 1251 в читаемый вид в Java:
import java.io.*; public class StringDecoder { public static void main(String[] args) { String input = "Пример строки в кодировке Windows 1251"; try { // Создаем входной поток для чтения строки в кодировке Windows 1251 ByteArrayInputStream inputStream = new ByteArrayInputStream(input.getBytes("Windows-1251")); // Создаем InputStreamReader для преобразования входного потока в читаемый вид InputStreamReader reader = new InputStreamReader(inputStream, "UTF-8"); // Создаем BufferedReader для буферизации входного потока BufferedReader bufferedReader = new BufferedReader(reader); // Читаем строку из входного потока String decodedString = bufferedReader.readLine(); // Выводим результат System.out.println(decodedString); // Закрываем потоки bufferedReader.close(); reader.close(); inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
Вышеуказанный код создает строку input
в кодировке Windows 1251. Затем он создает входной поток inputStream
для чтения этой строки в кодировке Windows 1251. Далее, создается экземпляр класса InputStreamReader
, преобразующий входной поток в читаемый вид, с указанием кодировки UTF-8. Затем создается экземпляр класса BufferedReader
для буферизации входного потока. Затем readLine()
читает строку из входного потока в читаемом виде. И наконец, результат выводится на экран.
Важно помнить, что вы должны указать правильную кодировку для входного потока (Windows 1251) и выходного потока (UTF-8 или другая кодировка вашей операционной системы).