-1Информатика Лабораторная работа № 1-02 Лабораторная работа № 1-02 Обмен данными между приложениями, кодирование данных в Windows 1. ЦЕЛЬ РАБОТЫ Целью работы является приобретение навыков работы со средствами обмена данными между приложениями в Windows, а также изучение кодировок данных в Windows на примере текстового редактора Блокнот. 2. СОСТАВ РАБОЧЕГО МЕСТА 2.1. Оборудование: IBM-совместимый персональный компьютер (ПК). 2.2. Программное обеспечение: операционная система Windows XP. 3. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 3.1. Обмен данными между приложениями Простейшим средством для передачи данных между приложениями Windows является рассмотренный выше буфер обмена (Clipboard). Передача данных через буфер обмена осуществляется во всех приложениях приблизительно одинаково. Это можно делать с помощью команд меню Правка (Edit): Копировать (Copy) – скопировать выделенную информацию в буфер обмена; Вырезать (Cut) – переместить выделенную информацию в буфер обмена (в исходном месте эта информация удаляется); Вставить (Paste) – вставить информацию из буфера обмена (как правило, в текущее место обрабатываемого документа). Операции передачи через буфер обмена можно выполнять также с помощью клавиатуры: Ctrl+C (копирование), Ctrl+X (вырезание) и Ctrl+V (вставка). В Windows имеются удобные средства для копирования экрана или части экрана в буфер обмена. Для Windows-программ и программ MS DOS, выполняющихся в окне Windows, это делается с помощью клавиши Print Screen (копирование содержимого всего экрана в буфер обмена), либо клавиш Alt+Print Screen (копирование активного окна в буфер обмена). 3.2. Текстовый редактор Блокнот Редактор Блокнот (Notepad) предназначен для просмотра, изменения и печати небольших текстовых документов, представленных в кодировке ANSI, MS DOS (OEMкодировке) или кодировке Unicode. Приложение Notepad.exe со значком находится в папке WINDOWS на диске C: (это приложение можно запустить также с помощью команды Notepad подменю команды Стандартные в подменю команды Программы главного меню). Кроме того, это редактор вызывается по умолчанию при открытии небольших документов, имя которых имеет расширение .txt. Файл: Document1 Создан: 24.11.2012 Модифицирован: 20.01.2016 Автор: Прищепа Т. А., Шонин В.А. -2Информатика Лабораторная работа № 1-02 После запуска редактора можно либо создать новый текстовый документ, выбрав команду Создать (New) в меню Файл (File), либо открыть существующий файл с помощью команды Открыть (Open) меню Файл. Ввод текста в документ производится, начиная с положения курсора (символ ). Изменить положение курсора можно, если переместить курсор с помощью клавиш со стрелками, либо подведя указатель мыши в нужное место и нажав левую кнопку мыши. При вводе и редактировании текста с использованием разных языков следует, при необходимости, изменять индикатор языка вводимого текста. Удаление символа слева от курсора производится с помощью клавиши Backspace, символа справа – с помощью клавиши Del (Delete). Выделение фрагмента текста производится следующим образом. Сначала указатель мыши устанавливается на начало фрагмента, нажимается правая кнопка мыши и, при нажатой кнопке мыши указатель переносится на конец фрагмента, затем кнопка отпускается. Если необходимо выделить весь текст, то можно выбрать команду Выделить все в меню Правка, либо нажать клавиши Ctrl+A. Для удаления выделенного фрагмента надо нажать либо клавишу пробела, либо клавишу Backspace, либо клавишу Del (Delete). Перемещение, копирование и вставка выделенного фрагмента в другое место документа или в другой документ производится с помощью буфера обмена и команд Вырезать, Копировать и Вставить меню Правка. Поиск заданной последовательности символов в тексте выполняется с помощью команд Найти и Найти далее меню Поиск. Отменить действие последней выполненной операции можно с помощью команды Отменить меню Правка. Редактор Блокнот дает возможность вставки текущей даты и текущего времени в документ – команда Дата/Время меню Правка. Если строка текста не помещается в окно, размер окна можно либо увеличить, либо воспользоваться командой Перенос по словам меню Правка. Набранный или отредактированный текст сохраняется с помощью команд Сохранить и Сохранить как меню Файл. Первая команда сохраняет открытый документ с тем же именем, что и раньше. Команда Сохранить как позволяет сохранить существующий документ с другим именем (при этом документ со старым именем остается, но произведенные изменения в него не заносятся). Команда Сохранить как автоматически вызывается также при сохранении вновь созданного документа. Если документ сохраняется как текстовый, и для него не указано расширение имени, будет автоматически присвоено расширение .txt). В основном Блокнот используется для просмотра и редактирования системных файлов и сопроводительной документации к программам. 3.3. Кодировки Windows Индикатор текущего языка ввода находится на панели задач справа (символы En обозначают английский язык, Uk – украинский и Ru – русский). Изменить язык ввода можно, щелкнув левой кнопкой мыши по индикатору. В появившемся затем меню следует щелкнуть левой кнопкой мыши по строке нужного языка. Кроме того, при установке или настройке Windows можно выбрать комбинацию клавиш для изменения языка ввода (либо левый Alt+Shift, либо Ctrl+Shift). Для кодирования текстовых данных в Windows используются три основные кодировки: кодировка OEM; кодировка ANSI; Файл: Document1 Создан: 24.11.2012 Модифицирован: 20.01.2016 Автор: Прищепа Т. А., Шонин В.А. -3Информатика Лабораторная работа № 1-02 кодировка Unicode. В режиме командной строки в Windows используется кодовая таблица ASCII (American Standard Code for Information Interchange), разработанная ANSI (American National Standard Institute – Американский национальный институт стандартов). Первая половина таблицы (символы с десятичными кодами от 0 до 127) содержит те символы, которые можно ввести с клавиатуры (точнее с ее символьной зоны). Во второй половине кодовой таблицы (символы с десятичными кодами от 128 до 255) содержатся в основном общепринятые математические и так называемые псевдографические символы (например, "├" или "┬"), использовавшиеся в текстовом режиме для рисования линий и диаграмм. Однако многие алфавиты используют буквы, отличные от 26 латинских букв, заданных в первой половине кодовой таблицы ASCII. Поэтому были разработаны кодовые страницы и для этих языков. Каждой такой кодовой странице присвоен числовой номер. Так, кодовые страницы с номерами 850 и 852 используются для западноевропейских языков, а кодовая страница 866 – для русского и украинского языков. В этой кодировке символы кириллицы имеют следующие коды: А-Я – 128-159 ('80' - '9F'), а-п – 160-175 ('A0' - 'AF'), р-я – 224-239 ('E0' - 'EF'), Ё – 240 ('F0'), ё – 241 ('F1'), Є – 240 ('F2'), є – 241 ('F3'), Ї – 240 ('F4'), ї – 241 ('F5'), т.е. расположены на тех позициях, где в кодировке ASCII находятся относительно редко используемые символы национальных алфавитов и греческие буквы. Для украинских букв І и і в этой кодировке используются соответствующие латинские буквы с кодами 73 ('49') и 105 ('69'). В терминологии Windows кодировка ASCII называется кодировкой OEM (Original Equipment Manufacturer – производитель оригинального оборудования). Кодировка ANSI является «родной» кодировкой Windows и была разработана специально для этой операционной системы. Первая половина кодовой таблицы содержит те же символы, что и первая половина кодовой таблицы кодировки ASCII (OEM), т.е. текст на английском языке в обеих кодировках будет выглядеть одинаково. Во второй половине кодовой таблицы ANSI также размещаются буквы национальных алфавитов. Кодовая страница Windows для западноевропейских алфавитов имеет номер 1252, а для языков, использующих буквы кириллицы (в том числе, для русского и украинского языков) – номер 1251. Следует отметить, что коды одних и тех же букв русского и украинского языка в кодовой странице 866 и в кодовой странице Windows-1251 не совпадают. Так, буквы А-Я имеют коды 192-223 ('C0' - 'DF'), а-я – 224-255 ('E0' - 'FF'), Ё – 168 ('A8'), ё – 184 ('B8'), Є – 170 ('AA'), є – 186 ('BA'), Ї – 175 ('AF'), ї – 191 ('BF'), І – 178 ('B2'), і – 179 ('B3'), Ґ – 165 ('A5'), ґ – 180 ('B4'). В кодировке Unicode на каждый символ отводится два байта. Так, коды букв латинского алфавита A-Z и a-z в шестнадцатеричном представлении лежат соответственно в диапазонах '0041' - '005A' и '0061' - '007A'. Коды букв русского алфавита А-Я и а-я лежат соответственно в диапазонах '0410' - '042F' и '0430' - '044F'. Исключением являются буквы Ё и ё, коды которых имеют значения '0401' и '0451'. Буквы украинского алфавита, совпадающие с русскими буквами, имеют те же коды, что и соответствующие русские буквы, а буквы Є, І, Ї, є, і, ї, Ґ и ґ имеют соответственно коды '0404', '0406', '0407', '0454', '0456', '0457', '0490' и '0491'. Существует несколько разновидностей представления символов в кодировке Unicode. Самой распространенной является кодировка UTF-16, в которой каждый символ представлен двумя байтами, причем в процессоре и в памяти компьютера младший байт ('00' для латинских букв или '04' – для букв кириллицы) размещается вторым, а старший – первым, т.е. буква А будет представлена как '1004'. Такое представление называют также UTF-16 Little Endian (младший байт в конце). Это представление используется в процессорах фирмы Intel и часто называют форматом Intel. Файл: Document1 Создан: 24.11.2012 Модифицирован: 20.01.2016 Автор: Прищепа Т. А., Шонин В.А. -4Информатика Лабораторная работа № 1-02 В кодировке UTF-16 Big Endian (старший байт в конце) первым идет младший байт, вторым – старший, т.е. буква А будет представлена как '0410'. Такое представление данных используется в процессорах Motorola и PowerPC и, соответственно, в компьютерах фирмы Apple, использующих эти процессоры (в последнее время появились компьютеры Apple на основе процессоров фирмы Intel). Формат UTF-8 предназначен для сокращения объема вводимых и выводимых данных. Данные в этом формате представляются по следующему алгоритму: символы Unicode в диапазоне '0000' - '007F' (первые 128 символов) записываются одним байтом (старший байт отбрасывается); символы Unicode в диапазоне '0080' - '07FF' (охватывающем буквы наиболее распространенных национальных алфавитов) записываются двумя байтами следующим образом: символ Unicode с двоичной кодировкой 00000xxxxxyyyyyy (где x и y – 0 или 1) преобразуется к виду 110xxxxx10yyyyyy; символы Unicode в диапазоне '0800' - 'FFFF' записываются тремя байтами следующим образом: символ Unicode с двоичной кодировкой xxxxyyyyyyzzzzzz (где x, y и z – 0 или 1) преобразуется к виду 1110xxxx10yyyyyy10zzzzzz. Для того, чтобы текстовый редактор мог определить, какая из кодировок Unicode использована для содержимого, в самом начале файла помещается символ метки порядка байт – BOM (Byte Order Mark). Это либо символ 'FFFE' (для кодировки UTF-16), либо символ 'FEFF' (для кодировки Unicode Big Endian), либо символ 'EFBBBF' (для кодировки UTF-8). Для представления букв русского и украинского алфавитов существуют также другие кодировки: кодировка Unix (кодовая страница KOI8-R для русского языка и отдельная кодовая страница для украинского языка, иногда называемая KOI8-U); кодировка Apple Macintosh (кодовая страница MacCyrillic); международная кодировка кириллицы ISO8859-5 (относительная кодировка символов в этой кодировке соответствует кодировке Unicode). Просмотреть используемые кодировки символов в различных шрифтах можно с помощью системного приложения Windows Таблица символов. Запустить это приложение можно в подменю Служебные, которое находится в подменю Стандартные главного меню. Выбор шрифта в диалоговом окне этого приложения производится в поле Шрифт. Если подвести курсор к какому-либо символу шрифта рядом в рамке будет выведен код этого символа и его наименования. Если щелкнуть мышью по символу и нажать кнопку Выбрать, то выделенный символ будет перенесен в поле Для копирования диалогового окна. Выбранные в этом поле символы можно копировать в любое приложение с помощью кнопки Копировать. Эту возможность можно использовать для вставки в текст символов, отсутствующих на клавиатуре (например, греческих букв или математических символов). Редактор Блокнот позволяет открывать, просматривать и редактировать текст во всех трех кодировках (OEM, ANSI или Unicode), однако для этого необходимо установить соответствующий шрифт с помощью команды Шрифт меню Формат. Для кодировки OEM устанавливается шрифт Terminal, а для кодировок ANSI или Unicode можно установить любой шрифт типа TrueType (со значком ) или OpenType (со значком ), например, Times New Roman, Arial, Verdana или Courier New. Текстовый файл в кодировке OEM, открытый в редакторе Блокнот, можно сохранить только в этой кодировке. Текст в кодировке ANSI или Unicode можно сохранить в одной из следующих кодировок: ANSI, UTF-16, UTF-16 Big Endian и UTF-8. Для этого в диалоговом окне команды Сохранить как меню Файл необходимо выбрать соответствующее значение в поле Кодировка: ANSI, Юникод, Юникод Big Endian или UTF-8. По умолчанию текст в редакторе Блокнот сохраняется в кодировке ANSI. Файл: Document1 Создан: 24.11.2012 Модифицирован: 20.01.2016 Автор: Прищепа Т. А., Шонин В.А. -5Информатика Лабораторная работа № 1-02 Редактор Блокнот не позволяет производить преобразование содержимого файла из кодировки OEM в кодировку ANSI, а также выполнять обратное преобразование. Для этого можно использовать либо использовать командную оболочку Far, либо воспользоваться редактором Word (эта возможность будет рассмотрена в лабораторной работе 1-07). В командной оболочке Far надо сначала щелкнуть мышью по наименованию файла в кодировке OEM и нажать клавишу F4 (редактирование файла). В окне редактора помощью клавиш Ctrl+A выделяется содержимое всего файла, а затем с помощью клавиш Ctrl+C содержимое файла копируется в буфер обмена. Выход из редактора выполняется с помощью клавиши Esc. После этого с помощью команды copy con имя-файла.txt создается новый файл, в котором сразу нажимается клавиша F6 и клавиша Enter. Если имя файла содержит пробелы, его необходимо заключить в двойные кавычки. Затем открывается (с помощью клавиши F4) полученный пустой файл и в нем с помощью переключателя F8 устанавливается кодировка Windows (значение режима кодировке в первой строке редактора должно быть Win) и содержимое буфера обмена копируется в файл с помощью клавиш Ctrl+V. Содержимое файла в редакторе сохраняется с помощью клавиши F2. Иногда необходимо просмотреть содержимое файла непосредственно в шестнадцатеричном виде, при этом каждый байт представляется двумя шестнадцатеричными цифрами. Такую возможность предоставляют многие командные оболочки (например, Far или Total Commander). Кроме того, существует целый класс текстовых редакторов, называемых HEX-редакторами, специально предназначенных для просмотра и изменения содержимого файлов, дисков и оперативной памяти. Для просмотра содержимого текстового файла в Far щелкните мышью по наименованию файла и нажмите клавишу F3 (просмотр файла). Для вывода содержимого в шестнадцатеричном виде нажмите затем клавишу F4 (эта клавиша переключает режим просмотра с текстового на шестнадцатеричный и обратно). 4. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ Порядок выполнения работы: 1. Скопируйте в свою папку файлы Системы счисления.txt и Кодировка символов (OEM).txt из папки Рабочая папка. 2. Откройте в созданной папке документ Системы счисления.txt. 3. Откройте (подменю Стандартные главного меню) текстовый редактор Блокнот. Расположите (с помощью контекстного меню панели задач) два окна текстового редактора Блокнот сверху вниз. 4. Найдите (с помощью команды Найти и слова Примеры) в первом окне редактора фрагмент текста, начинающийся со слов "Примеры перевода чисел из одной системы счисления в другую". 5. Выделите фрагмент текста, начиная со строки "Примеры перевода чисел из одной системы счисления в другую" и кончая строкой "4. 8FF[16] = ????[2] " и скопируйте выделенный фрагмент во второе окно редактора. 6. Найдите (с помощью команды Найти далее) в первом окне редактора фрагмент текста, начинающийся со слов "Примеры действий над двоичными числами". 7. Выделите фрагмент, начиная со строки "Примеры действий над двоичными числами" до конца документа и скопируйте этот фрагмент во второе окно редактора после первого фрагмента. 8. Закройте первое окно редактора Блокнот. Файл: Document1 Создан: 24.11.2012 Модифицирован: 20.01.2016 Автор: Прищепа Т. А., Шонин В.А. -6Информатика Лабораторная работа № 1-02 9. Удалите второй пример в первом фрагменте (перевод десятичной дроби в восьмеричную систему счисления) и исправьте номер пункта 3 на 2. 10. Замените фразу "Решите приведенные ниже примеры перевода чисел из одной системы счисления в другую:" на фразу "Ниже приведены примеры перевода чисел из одной системы счисления в другую: ". 11. Запустите системное приложение Калькулятор – программный модуль calc.exe ( ) в C:\WINDOWS\system32. Установите в меню Вид команду Инженерный. 12. Скопируйте переводимое число из первого примера (1234) в поле калькулятора с помощью буфера обмена (предварительно установив десятичную систему счисления). С помощью переключателя установите нужную (шестнадцатеричную) систему счисления и скопируйте полученный результат в окно текстового редактора (вместо символов ????). Повторите данную операцию для остальных примеров. 13. Замените фразу "Решите приведенные ниже примеры арифметических действий над двоичными числами:" на фразу "Еще примеры сложения, вычитания, умножения и деления двоичных чисел:". 14. Установите двоичную систему счисления. Последовательно копируйте операнды из окна редактора в поле калькулятора и выполните над ними необходимые действия для четырех приведенных примеров. Результаты вычислений копируйте в окно редактора (вместо символов ????). 15. Сохраните отредактированный текст с именем Системы счисления (Unicode).txt в кодировке UTF-16. 16. Откройте в редакторе Блокнот файл Кодировка символов (OEM).txt, представленный в кодировке OEM. Подберите шрифт для просмотра и редактирования этого файла. 17. Для преобразования содержимого файла в кодировку ANSI откройте в командной оболочке Far файл Кодировка символов (OEM).txt, скопируйте его содержимое в буфер обмена, создайте новый пустой файл Кодировка символов (Windows).txt, откройте его, установите для него кодировку Windows и вставьте в него содержимое буфера обмена. 18. Откройте файл Кодировка символов (OEM).txt в режиме просмотра в командной оболочке Far. Установите шестнадцатеричный режим просмотра и запишите коды символов строки "Кодировка символов в Windows". Откройте файл Кодировка символов (Windows).txt в редакторе Блокнот и запишите после последней строки текста заголовок "Строка: кодировка символов в Windows", и затем с новой строки после слов "Кодировка OEM: " запишите коды символов строки. 19. Откройте файл Кодировка символов (Windows).txt в режиме просмотра в командной оболочке Far. Установите шестнадцатеричный режим просмотра и запишите коды символов строки "Кодировка символов в Windows". В редакторе Блокнот запишите с новой строки после слов "Кодировка ANSI: " коды символов строки. 20. Откройте файл Кодировка символов (Windows).txt в новом (втором) окне редактора Блокнот и сохраните его с именем Кодировка символов (UTF-16).txt в кодировке UTF-16 (Юникод). 21. Откройте файл Кодировка символов (UTF-16).txt в режиме просмотра в командной оболочке Far. Установите шестнадцатеричный режим просмотра и запишите символ BOM и коды символов строки "Кодировка символов в Windows". В редакторе Блокнот запишите с новой строки после слов "Кодировка UTF-16: " коды символов строки, а затем (после слов "Символ BOM: ") значение символа BOM для UTF-16. 22. Сохраните файл во втором окне редактора Блокнот в кодировке Юникод Big Endian с именем Кодировка символов (UTF-16 Big Endian).txt, а затем откройте сохраненный файл в командной оболочке Far. Установите шестнадцатеричный режим просмотра и запишите символ BOM и коды символов строки "Кодировка символов в Windows". В Файл: Document1 Создан: 24.11.2012 Модифицирован: 20.01.2016 Автор: Прищепа Т. А., Шонин В.А. -7Информатика Лабораторная работа № 1-02 редакторе Блокнот запишите с новой строки после слов "Кодировка UTF-16 Big Endian: " коды символов строки, а затем (после слов "Символ BOM: ") значение символа BOM для UTF-16 Big Endian. 23. Сохраните файл во втором окне редактора Блокнот в кодировке UTF-8 с именем Кодировка символов (UTF-8).txt, а затем откройте сохраненный файл в командной оболочке Far. Установите шестнадцатеричный режим просмотра и запишите символ BOM и коды символов строки "Кодировка символов в Windows". В этой кодировке русские буквы кодируются двумя байтами, а латинские буквы и символ пробела ('20') – одним байтом. В редакторе Блокнот запишите с новой строки после слов "Кодировка UTF-8: " коды символов строки, а затем (после слов "Символ BOM: ") значение символа BOM для кодировки UTF-8. 24. Покажите преподавателю содержимое файлов Системы счисления (Unicode).txt и Кодировка символов (Windows).txt. 25. Сохраните файлы Системы счисления (Unicode).txt и Кодировка символов (Windows).txt на внешний носитель. 26. Удалите все созданные вами файлы из своей папки и закройте все открытые окна. 5. ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ 1. Чем отличается операция перемещения (вырезания) объекта от операции копирования объекта? 2. Как в Windows можно скопировать экран или часть экрана в приложение? 3. В какой системе кодировки и с каким расширением имен по умолчанию работает текстовый редактор Блокнот? 4. Как изменить язык (раскладку клавиатуры) при вводе текста? 5. Как выделить фрагмент текста в редакторе Блокнот и какие операции над выделенным фрагментом можно производить в редакторе? 6. Как в редакторе Блокнот можно сохранить копию документа под другим именем и с другой кодировкой? 7. Как просмотреть и отредактировать файл в кодировке OEM в редакторе Блокнот? 8. Какие разновидности кодировок Unicode используются в Windows и чем они отличаются друг от друга? 9. Для каких целей используется символ BOM в текстах кодировки Unicode и где он размещается? 10. Какие кодировки символов кириллицы используются в других операционных системах? 11. Как преобразовать файл в кодировке OEM в файл в кодировке ANSI в командной оболочке Far? 12. Как в командной оболочке Far просмотреть содержимое файла в шестнадцатеричном виде? Файл: Document1 Создан: 24.11.2012 Модифицирован: 20.01.2016 Автор: Прищепа Т. А., Шонин В.А.