11.3.3. Переключение кодировок

11.3.3. Переключение кодировок

Теперь поговорим о том, как "на лету" изменить кодировку символов. Необходимость в этом возникает в тех случаях, когда просматриваешь какой-то файл и вместо читаемого текста видишь непонятную абракадабру. В таких случаях хочется превратить ее в нормальный текст нажатием пары горячих клавиш. Можно, конечно, для каждого из необходимых шрифтов создать специальную команду, записав в небольшой файл приведенные выше команды, естественно соответствующим образом модифицированные. Однако ясно, что это не совсем удобно. В этом отношении хочется работать так же комфортно, как в программе FAR Е. Рошаля, где в том случае, когда просматриваешь файл по клавише ‹F3› или редактируешь его по ‹F4›, достаточно набрать ‹Shift›+‹F8› и получаешь возможность перекодировать выводимый на экран текст в любую из нескольких кодировок. Можно считать, что это уже роскошь, но что поделаешь, все мы быстро привыкаем к хорошему, и отказываться уже трудно.

2 июля 2000 г на сайте linux.ru.net появилась сообщение о заплате (патче) к Midnight Commander версии 4.5.50, которая позволяет производить перекодировку как в FAR, по нажатию клавиш ‹Ctrl›+‹T›. Тогда это можно было делать только во встроенной программе просмотра. На сегодня автор патча В. Студенников доработал его, так что перекодировка стала возможна и во встроенном редакторе (см. http://www.linux.zp.ua:8100/mc/ или http://www.sama.ru/~despaire/mc/my-patches.html).

Это что касается перекодировки «на лету». Как видите, такая перекодировка является функцией отдельных программ просмотра файлов. Если перекодировка «на лету» недоступна, то можно перекодировать сам текстовый файл. Для преобразования потока символов из одной кодовой страницы (charset) в другую, в стандарте POSIX существуют утилита iconv и функция iconv(). О других программах перекодировки мы поговорим в гл. 12.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Вытеснение и переключение контекста

Из книги автора

Вытеснение и переключение контекста Переключение контекста — это переключение от одной, готовой к выполнению задачи к другой. Это переключение производится с помощью функции context_switch(), определенной в файле kernel/sched.c. Данная функция вызывается функцией schedule(), когда новый


24.2.6. Переключение наборов символов

Из книги автора

24.2.6. Переключение наборов символов Большинство современных терминалов (включая VT100, который достаточно точно эмулирует консоль Linux) поддерживают как минимум два набора символов. Основным набором обычно является ISO-8859-1 или ему подобный; другой набор используется главным


Преобразование кодировок

Из книги автора

Преобразование кодировок convert_cyr_stringПреобразует строку из одной кодировки кириллицы в другую.Синтаксис:string convert_cyr_string(string str, string from, string to);Функция переводит строку str из кодировки from в кодировку to. Конечно, это имеет смысл только для строк, содержащих "русские" буквы, т.к.


Аппаратное переключение контекста

Из книги автора

Аппаратное переключение контекста Так как только что описанным процедурам обработки исключений может потребоваться доступ к привилегированным командам PowerPC, механизм прерываний должен иметь возможность переключать состояние процессора при передаче управления


6.4.3 Переключение контекста

Из книги автора

6.4.3 Переключение контекста Если обратиться к диаграмме состояний процесса (Рисунок 6.1), можно увидеть, что ядро разрешает производить переключение контекста в четырех случаях: когда процесс приостанавливает свое выполнение, когда он завершается, когда он возвращается


4.2.2. Запуск программ и переключение между ними

Из книги автора

4.2.2. Запуск программ и переключение между ними В общем случае запустить программу или приложение на выполнение можно несколькими способами:? Щелкнуть мышкой по значку программы на панели (если таковой имеется).? Щелкнуть мышкой по соответствующему значку рабочего стола


 6. Функции и переключение ввода-вывода   

Из книги автора

 6. Функции и переключение ввода-вывода     В вычислительной технике слова "ввод" и "вывод" применяются в нескольких разных смыслах. Мы можем говорить об устройствах ввода и вывода, таких, как терминалы, накопители на магнитных дисках, точечно-матричные принтеры и т. п., или


ПЕРЕКЛЮЧЕНИЕ И РАБОТА С ФАЙЛАМИ

Из книги автора

ПЕРЕКЛЮЧЕНИЕ И РАБОТА С ФАЙЛАМИ     Понятие ввода-вывода включает в себя функции, данные и устройства. Рассмотрим, например, нашу программу ввод-вывод4. В ней используется функция getchar( ), осуществляющая ввод, причем устройство ввода - клавиатура (в соответствии с нашим


Переключение вывода

Из книги автора

Переключение вывода Предположим, вы осуществили компиляцию программы ввод-вывод4 и поместили выполняемый объектный код в файл с именем getput4. Затем, чтобы запустить данную программу, вы вводите с терминала только имя файла getput4и программа выполняется так, как было описано


Переключение ввода

Из книги автора

Переключение ввода      Теперь предположим (если вы еще не устали и в состоянии что-нибудь предположить), вам хочется, чтобы слова, вводимые с клавиатуры, попадали в файл с именем mywords. Для этого вы должны ввести команду getput4 > mywordsи начать ввод символов. Символ > служит


Комбинированное переключение

Из книги автора

Комбинированное переключение      Предположим теперь, что вы хотите создать копию файла mywords и назвать ее savewords. Введите для этого команду getput4 < mywords > savewords и требуемое задание будет выполнено. Команда getput4  > savewords < mywordsприведет к такому же результату, поскольку


Переключение между формами

Из книги автора

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


2.2.1. Переключение между окнами

Из книги автора

2.2.1. Переключение между окнами Windows является многозадачной операционной системой. То есть вы можете работать одновременно в нескольких программах и переключаться между ними. Объясняю, как это делается. Итак, сейчас у вас открыто окно Мой компьютер, сверните его на панель


1.10.6. Быстрое переключение пользователей

Из книги автора

1.10.6. Быстрое переключение пользователей Функция быстрого переключения пользователей позволяет, не завершая работы учетной записи одного пользователя, производить регистрацию от имени другого. Активизация этой функции происходит в окне Учетные записи (Accounts) при