Spec-Zone .ru
спецификации, руководства, описания, API
След: Интернационализация
Урок: Работа с текстом
Преобразование текста неUnicode
Домашняя страница > Интернационализация > Работа с текстом

Преобразование текста неUnicode

В языке программирования Java char значения представляют символы Unicode. Unicode является 16-разрядной кодировкой символов, которая поддерживает главные языки в мире. Можно узнать больше о стандарте Unicode на Консорциальном Веб-сайте Unicode.

Немного текстовых редакторов в настоящий момент поддерживают ввод текста Unicode. Текстовый редактор, который мы имели обыкновение писать примерам кода этого раздела, поддерживает только символы ASCII, которые ограничиваются 7 битами. Чтобы указать на символы Unicode, которые не могут быть представлены в ASCII, таком как ö, мы использовали \uXXXX escape-последовательность. Каждый X в escape-последовательности шестнадцатеричная цифра. Следующий пример показывает, как указать на ö символ с escape-последовательностью:

String str = "\u00F6";
char c = '\u00F6';
Character letter = new Character('\u00F6');

Множество кодировок символов используется системами во всем мире. В настоящий момент немногие из этих кодировок соответствуют Unicode. Поскольку Ваша программа ожидает символы в Unicode, текстовые данные, которые это получает от системы, должны быть преобразованы в Unicode, и наоборот. Данные в текстовых файлах автоматически преобразовываются в Unicode, когда его кодирование соответствует кодирование файла значения по умолчанию виртуальной машины Java. Можно идентифицировать кодирование файла значения по умолчанию, создавая OutputStreamWriter использование этого и выяснение его канонического имени:

OutputStreamWriter out = new OutputStreamWriter(new ByteArrayOutputStream());
System.out.println(out.getEncoding());

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

Этот раздел обсуждает API, которые Вы используете, чтобы преобразовать текст не-Unicode в Unicode. Перед использованием этих API следует проверить, что кодировка символов, которую Вы хотите преобразовать в Unicode, поддерживается. Список поддерживаемых кодировок символов не является частью спецификации языка программирования Java. Поэтому кодировки символов, поддерживаемые API, могут меняться в зависимости от платформы. Чтобы видеть, который поддерживают кодировки Комплект разработчика для Java, см. Поддерживаемый документ Кодировок.

Материал, который следует, описывает два метода для того, чтобы преобразовать текст не-Unicode в Unicode. Можно преобразовать байтовые массивы не-Unicode в String объекты, и наоборот. Или можно преобразовать между потоками символов Unicode и потоками байтов текста не-Unicode.

Кодировки байта и Строки

Этот раздел показывает Вам, как преобразовать байтовые массивы не-Unicode в String объекты, и наоборот.

Символьные и Потоки байтов

В этом разделе Вы изучите, как преобразовать между потоками символов Unicode и потоками байтов текста не-Unicode.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Преобразование латинских Цифр к Другим Цифрам Unicode
Следующая страница: Кодировки Байта и Строки