Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
exam_answers_v3.2_2013.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.08 Mб
Скачать

2. Двух (и более) байтовые кодировки. Юникод. Универсальный набор символов (ucs). Семейство кодировок: utf-8, utf-16, utf-32. Порядок байтов. Юникод в операционных системах Windows и unix.

Кодировки бывают:

  • однобайтовые - одному байту соответствует один символ и получается (максимум 256 символов): ASCII;

  • двухбайтовые - одному изображению символа соответствует два байта (максимум 65536): Unicode старого стандарта, японская кодировка JIS;

  • многобайтовые - символы представляются переменным количеством байтов. За однобайтовым символом (например, символом из кодировки ISO Latin-1) может следовать трехбайтовый символ (японский иероглиф);

  • расширенные - символ всегда представляется постоянным количеством байтов независимо от его типа. В типичных кодировках символ представляется величиной 2 или 4 байта.

Юникод (англ. Unicode) — технология кодирования символов, позволяющий представить знаки практически всех письменных языков.

Стандарт состоит из двух основных разделов: универсальный набор символов (англ. UCS, universal character set) и семейство кодировок (англ. UTF, Unicode transformation format).

Универсальный набор символов задаёт однозначное соответствие символов кодам — элементам кодового пространства, представляющим неотрицательные целые числа. Семейство кодировок (UTF) определяет машинное представление последовательности кодов UCS.

Коды в стандарте Юникод разделены на несколько областей. Область с кодами от U+0000 до U+007F содержит символы набора ASCII с соответствующими кодами. Далее расположены области знаков различных письменностей, знаки пунктуации и технические символы. Часть кодов зарезервирована для использования в будущем.

UTF-8: Может сочетать одно-, двух- и четырех байтовые символы. Главное достоинство UTF-8 — совместимость с ASCII не только по значениям кодов, но и по количеству бит на символ, так как для кодирования любого из первых 128 символов в UTF-8 достаточно одного байта (хотя, например, для букв кириллицы нужно уже по два байта).

UTF-16: Символы представлены двумя байтами (16 битами). Включает в себя почти все алфавиты мира, кроме некоторых мертвых языков и редких китайских иероглифов.

UTF-32: В UTF-32 все символы представлены 4 байтами. Самая простая, но неэффективная.

Windows и UNIX давно перешли к Unicode. В Windows используется UTF-16, в UNIX/Linux и вебе - UTF-8.

3. Алгоритмы сжатия без потерь - кодирование длин серий (rle), алгоритм Лемпеля-Зива-Велча (lzw), форматы gif и png.

Кодирование длин серий (англ. Run-length encoding, RLE): Рассмотрим изображение, содержащее простой чёрный текст на сплошном белом фоне. В качестве примера приведена некая произвольная строка изображения в черно-белом варианте. Здесь B представляет чёрный пиксель, а W обозначает белый:

WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW

Если мы применим простое кодирование длин серий к этой строке, то получим следующее:

12W1B12W3B24W1B14W

В случае, если строка состоит из большого количества неповторяющихся символов, её объем может вырасти.

Алгори́тм Ле́мпеля — Зи́ва — Ве́лча (Lempel-Ziv-Welch, LZW): BWBWBW ­–>BW=A, 3A. Математическая часть алгоритма состоит в оптимизации, чтобы после сжатия не произошло увеличение файла.

GIF (Graphics Interchange Format) – является одним из самых популярных форматов изображений, размещаемых на веб-страницах. Отличительной его особенностью является использование режима индексированных цветов (не более 256), что ограничивает область применения формата изображениями, имеющими резкие цветовые переходы. Небольшие размеры файлов изображений обусловлены применением алгоритма сжатия без потерь качества, благодаря чему изображения в этом формате наиболее удобны для пересылки по каналам связи глобальной сети. В GIF реализован эффект прозрачности и возможности хранить в одном файле несколько картинок с указанием времени показа каждой, что используется для создания анимированных изображений.

PNG (Portable Network Graphics) – формат PNG, являющийся плодом трудов сообщества независимых программистов, появился на свет как ответная реакция на переход популярнейшего формата GIF в разряд коммерческих продуктов. Этот формат,  в отличие от GIF сжимает растровые изображения не только по горизонтали, но и по вертикали, что обеспечивает более высокую степень сжатия. Как недостаток формата часто упоминается то, что он не дает возможности создавать анимационные ролики. Зато формат PNG позволяет создавать изображения с 256 уровнями прозрачности что, безусловно, выделяет его на фоне всех существующих в данный момент форматов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]