Главная » Java » Строки и массивы значений byte Java

0

В Составе класса String существует ряд методов, позволяющих преобразовывать массивы 8-битовых символов в 16-битовые строки Unicode и наоборот. Подобные преобразования выполняются с учетом принятой кодировки и их результаты существенно зависят от источника происхождения Символов. Например, массив байтов формата ASCII или Latin-l преобразуется в последовательность символов Unicode совершенно прозрачно, путем добавления нулевых старших байтов, но такой подход неприемлем при использовании символов в других Кодировках – скажем, букв иврита. Ниже рассмотрены конструкторы и методы, которые позволяют явно задавать вид требуемой кодировки либо применять Кодировку, выбранную конкретным пользователем или предлагаемую платформой Java по умолчанию.

public String(byte[] bytes, int start, int count) Создает новый объект String путем преобразования массива bytes, начиная с байта под номером start, кодировкой символов и региональным стандартом, умолчанию.

public String(byte[] bytes)

Конструктор аналогичен предыдущему при условии String(bytes, 0, bytes.length).

public String(byte[] bytes, int start, int count, String еnс)

throws UnsupportedEncodingException

Создает новый объект String путем преобразования count элементов массива bytes, начиная с байта под номером start, в соответствии с кодировкой символов, наименование которой задано параметром еnс.

public String(byte[] bytes, String еnс) throws UnsupportedEncodingException

Конструктор аналогичен предыдущему при условии String (bytes, О, bytes.length, еnс).

public byte[] getBytes()

Возвращает массив байтов текущей строки, преобразованных в соответствии с кодировкой символов и региональным стандартом, принятыми по умолчанию.

public byte[] getBytes(String еnс)

throws UnsupportedEncodingException

Возвращает массив байтов текущей строки, преобразованных в соответствии с кодировкой символов, наименование которой задано параметром еnс.

Конструкторы String, предусматривающие возможность построения строк на основе массивов типа byte, выполняют копирование данных, поэтому последующее изменение содержимого массива не оказывает влияния на созданный объект String.

 

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии