@ally
В Java есть несколько способов узнать кодировку текста. Один из них состоит в том, чтобы создать экземпляр класса java.nio.charset.Charset
, который представляет собой кодировку, и вызвать у него метод name()
, чтобы получить имя кодировки. Например:
1 2 3 |
Charset charset = Charset.forName("UTF-8"); String charsetName = charset.name(); System.out.println(charsetName); // выведет "UTF-8" |
Другой способ состоит в том, чтобы использовать класс java.nio.charset.CharsetDetector
, который позволяет определить кодировку текста автоматически. Например:
1 2 3 4 5 6 7 8 |
byte[] bytes = "Hello, world!".getBytes("UTF-8"); CharsetDetector detector = new CharsetDetector(); detector.setText(bytes); CharsetMatch match = detector.detect(); String charsetName = match.getName(); System.out.println(charsetName); // выведет "UTF-8" |
Оба этих способа требуют импорта следующих классов:
1 2 3 |
import java.nio.charset.Charset; import java.nio.charset.CharsetDetector; import java.nio.charset.CharsetMatch; |