[Java]. Отличить cp1251 от Utf-8?
а это как? может, просто сконвертировать строку?
в частных, можно извернуться:
1. есть utf с сигнатурой. Первые 3-символа такого файла: 0xEF, 0xBB, 0xBF
2. проанализировать распределение тех или иных символов, и соотнести с кодировкой.
> Как указать в коде
Я так понял, что ему нужен конструктор текстридера, в который можно будет передать енкодинг.утф8, например.
На ум приходят два варианта:
1. С потоком обычно работают как массивом байт. Вот и считываешь всё в массив байт, а затем создаёшь объект String, передав в конструктор массив данных и желаемую кодировку (есть у него такой конструктор).
2. Воспользоваться статическим методом DataInputStream.readUTF(поток ввода).
Вообще сам ужасно не люблю, когда так пишут, но всё-таки rtfm % Посмотри классы пакета java.io.
Reader reader = new InputStreamReader(new FileInputStream("filename.ext" Charset.forName("UTF-8";
Можно чуть иначе:
Reader reader = new InputStreamReader(new FileInputStream("filename.ext" "UTF-8");
клево
Оставить комментарий
Svetlanka
Как указать в коде, что файл, из которого мы читаем (символьный поток) находится в кодировке UTF-8, а не cp1251?