Класс StandardCharsets
Класс StandardCharsets из пакета java.nio.charset предоставляет
готовые константы для самых распространённых кодировок символов.
Он избавляет от необходимости создавать объект Charset через
Charset.forName и обрабатывать проверяемое исключение.
Класс содержит статические поля типа Charset: UTF_8,
UTF_16, UTF_16BE, UTF_16LE, ISO_8859_1 и
US_ASCII. Эти константы удобно передавать в конструкторы
InputStreamReader, OutputStreamWriter, String и
Files при чтении и записи текста.
Синтаксис
StandardCharsets.UTF_8
StandardCharsets.ISO_8859_1
StandardCharsets.US_ASCII
Пример
Давайте получим кодировку UTF-8 и выведем её имя:
import java.nio.charset.StandardCharsets;
public class Main
{
public static void main(String[] args)
{
System.out.println(StandardCharsets.UTF_8.name());
}
}
Результат выполнения кода:
"UTF-8"
Пример
Давайте переведём строку в массив байтов, используя стандартную кодировку UTF-8:
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
String str = "abcde";
byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
System.out.println(Arrays.toString(bytes));
}
}
Результат выполнения кода:
[97, 98, 99, 100, 101]
Пример
Давайте прочитаем байты обратно в строку, указав кодировку ISO-8859-1:
import java.nio.charset.StandardCharsets;
public class Main
{
public static void main(String[] args)
{
byte[] bytes = {49, 50, 51, 52, 53};
String str = new String(bytes, StandardCharsets.ISO_8859_1);
System.out.println(str);
}
}
Результат выполнения кода:
"12345"
Смотрите также
-
класс
Charset,
который представляет кодировку символов -
метод
forName,
который возвращает кодировку по имени -
класс
InputStreamReader,
который читает текст с указанной кодировкой -
класс
OutputStreamWriter,
который пишет текст с указанной кодировкой