Для оценки "отлично" достаточно набрать 10 баллов. Однако, все лишние набранные баллы также будут учтены.
Решения сдаются по почте.
1. (4 балла)
Дан файл из трёх строк. Выясните, есть ли различия между символами разных строк? Подробно опишите, какими символами они различаются, как называются эти символы в Юникоде, какой они имеют номер, какое двоичное представление.
Файл:
https://dl.dropboxusercontent.com/u/25207227/citroen.txt
Погуглите по фразам:
hex viewer online
unicode character by code
2. (4 балла)
Даны строчки:
Hello, world!
Привет, мир!
你好,世界!
Сколько байт занимали бы эти строчки, если их сохранить в кодировке Windows-1251? KOI8-R? UTF-8? UTF-16?
На каком языке написана последняя строка? Правда же, что её нельзя сохранить ни в Windows-1251, ни в KOI8-R?
3. (4 балла)
В какой кодировке записан русский текст в этих файлах? Это можно выяснить даже в браузере: в Хроме используйте пункт "Инструменты -> Кодировка".
Перекодируйте каждый из них в какую-нибудь другую кодировку. Укажите, в какую кодировку вы его перекодировали.
https://dl.dropboxusercontent.com/u/25207227/K_Vorontsov_teaching.txt
https://dl.dropboxusercontent.com/u/25207227/anna.txt
https://dl.dropboxusercontent.com/u/25207227/tasks.txt
Гугл в помощь:
декодер кодировок
encoding converter online
4. (6 баллов)
Напишите программу, которая по файлу определяет, создан ли этот файл на платформе Windows или Mac/Linux. Как известно, на этих двух платформах различаются символы перевода строк:
http://ru.wikipedia.org/wiki/Перевод_строки#.D0.92_ASCII
Пришлите не только свою программу, но и файлы двух типов, на которых вы тестировали свою программу.
5. (6 баллов)
Напишите программу, которая берёт файл с последовательностью целых чисел в диапазон от -2^31 до 2^31-1 и сохраняет их в другой файл, в котором каждое число хранится как двоичное и занимает 4 байта, а пробелов между числами нет. Напишите программу, которая совершает обратное преобразование.
6. (10 баллов)
Прочтите статью http://ru.wikipedia.org/wiki/Стеганография
Придумайте и реализуйте какой-нибудь простой метод стеганографии, который позволяет сохранять скрытые сообщения в файлах картинок (например, в формате bmp изменяя младший бит каждого пикселя). Напишите кодер и декодер.