Иллюстрированный самоучитель по Java

Как создать строку. Сцепление строк.

Все эти данные выводятся на консоль MS Windows 2000, как показано на рис. 5.1.

Иллюстрированный самоучитель по Java › Работа со строками › Как создать строку. Сцепление строк.
Рис. 5.1. Вывод кириллической строки на консоль MS Windows 2000

В первые три строки консоли выводятся массивы байтов byteCP1251, byteCP866 и byteKOI8R без преобразования в Unicode. Это выполняется методом write() класса FilterOutputStream из пакета java.io.

В следующие три строки консоли выведены строки Java, полученные из массива символов с[], массива byteCP866 и строки-константы.

Следующие строки консоли содержат преобразованные массивы.

Вы видите, что на консоль правильно выводится только массив в кодировке СР866, записанный в строку с использованием кодовой таблицы СР1251.

В чем дело? Здесь свой вклад в проблему русификации вносит вывод потока символов на консоль или в файл.

Как уже упоминалось в главе 1, в консольное окно Command Prompt операционной системы MS Windows текст выводится в кодировке СР866.

Для того чтобы учесть это, слова "\"Россия\" в" преобразованы в массив байтов, содержащий символы в кодировке СР866, а затем переведены в строку msg.

В предпоследней строке рис. 5.1 сделано перенаправление вывода программы в файл codes.txt. В MS Windows 2000 вывод текста в файл происходит в кодировке СР1251. На рис. 5.2 показано содержимое файла codes.txt в окне программы Notepad.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.