Spec-Zone .ru
спецификации, руководства, описания, API
|
В языке программирования 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.