Как узнать кодировку текста в Java?

Пользователь

от ally , в категории: Java , 10 месяцев назад

Как узнать кодировку текста в Java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от elda , 3 месяца назад

@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;