Пакет java.nio.charset

Определяет наборы символов, декодеры и кодировщики для преобразования между байтами и символами Юникода.

Имя класса Описание
Charset Именованное отображение между символами и байтами
CharsetDecoder Декодирует байты в символы
CharsetEncoder Кодирует символы в байты
CoderResult Описание результатов кодирования
CodingErrorAction Описание действий при обнаружении ошибок кодирования

Набор символов — это именованное отображение между последовательностями символов Юникода с 16-разрядной длиной и последовательностями байтов, в смысле, определённом в RFC 2278. Декодер — это механизм, преобразующий байты в определённом наборе символов в символы, а кодировщик — это механизм, преобразующий символы в байты. Кодировщики и декодеры работают с буферами байтов и символов. Они объединяются в категорию кодеров.

Класс Charset определяет методы для создания кодеров для заданного набора символов и для получения различных имён, связанных с набором символов. Он также определяет статические методы для проверки поддержки конкретного набора символов, для поиска экземпляров набора символов по имени и для построения карты, содержащей каждый набор символов, для которого доступна поддержка в текущей виртуальной машине Java.

Большинство пользователей не будут использовать эти классы напрямую; вместо этого они будут использовать существующие конструкторы и методы, связанные с набором символов, в классе String, а также существующие классы InputStreamReader и OutputStreamWriter, все реализации которых были переработаны, чтобы использовать возможности набора символов, определённые в этом пакете. Были внесены небольшие изменения в классы InputStreamReader и OutputStreamWriter для того, чтобы разрешить явное указание объектов набора символов при создании экземпляров этих классов.

Поддержка новых наборов символов может быть обеспечена через интерфейс, определённый в классе CharsetProvider в пакете java.nio.charset.spi.

Если не указано иное, передача null аргумента в конструктор или метод любого класса или интерфейса в этом пакете приведёт к исключению NullPointerException.

С:
1.4
Класс Описание
Charset

Именованное отображение между последовательностями 16-разрядных символов Юникода единиц кодирования и последовательностями байтов.

CharsetDecoder

Механизм, который может преобразовать последовательность байтов в заданном наборе символов в последовательность 16-разрядных символов Юникода.

CharsetEncoder

Механизм, который может преобразовать последовательность 16-разрядных символов Юникода в последовательность байтов в заданном наборе символов.

CoderResult

Описание состояния результата кодирования.

CodingErrorAction

Типобезопасный перечисление действий при ошибках кодирования.

StandardCharsets

Определения констант для стандартных Charsets.

Исключение Описание
CharacterCodingException

Исключение с проверкой, выбрасываемое при возникновении ошибки кодирования или декодирования символов.

IllegalCharsetNameException

Исключение без проверки, выбрасываемое при использовании в качестве имени набора символов строки, которая не является законным именем набора символов.

MalformedInputException

Исключение с проверкой, выбрасываемое, когда последовательность байтов ввода не является законной для данного набора символов или последовательность символов ввода не является законной последовательностью символов Юникода с 16-разрядной длиной.

UnmappableCharacterException

Исключение с проверкой, выбрасываемое, когда последовательность входных символов (или байтов) является валидной, но не может быть сопоставлена с выходной последовательностью байтов (или символов).

UnsupportedCharsetException

Исключение без проверки, выбрасываемое, когда поддержка запрошенного набора символов отсутствует.

Ошибка Описание
CoderMalfunctionError

Ошибка, выбрасываемая, когда метод decodeLoop CharsetDecoder или метод encodeLoop CharsetEncoder выбрасывает непредвиденное исключение.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/charset/package-summary.html

Spec-Zone .ru
спецификации, руководства, описания, API