На рис. 1.17 показано, как в этой кодировке приветствие Hello представляется с помощью следующей комбинации би-
тов: 01001000 01100101 01101100 01101100 01101111 00101110.
Несмотря на то что ASCII – это один из наиболее широко используемых кодов, сегодня растет популярность кодов с
более широкими возможностями, которые способны представлять документы на разных языках. Одним из них является Uni-
code, который был разработан в результате объединенных усилий нескольких ведущих фирм-производителей программного
и аппаратного обеспечения. В этом коде для представления каждого символа используется уникальная комбинация из 16
двоичных разрядов. В результате кодировка Unicode включает
65 536 различных двоичных кодов, что вполне достаточно даже для представления всех широко употребляемых китайских и
японских алфавитов. Международная организация по стандартизации (International Organization for Standardization, часто
именуемая ISO, от греческого isos – одинаковый) разработала код, способный соперничать даже с кодировкой Unicode. Здесь
для выражения символов используются комбинации из 32 бит, в результате чего этот код позволяет представить более 17
миллионов символов. Будущее покажет, какой из двух кодов приобретет большую популярность.
Рис. 1.17. Представление слова Hello, в кодах ASCII
Несмотря на то что метод хранения информации в виде закодированных символов достаточно удобен, он оказывается
неэффективным при записи чисто числовой информации. Например, пусть в память требуется записать число 25. Если вос-
пользоваться символами в кодах ASCII, то для записи этого числа потребуется один байт на каждый символ, а всего – 16 бит
(более того, самое большое число, которое мы сможем представить с помощью 16 битов, – это 99). Используя двоичную сис-
тему счисления, можно в одном байте сохранить любое целое число в диапазоне от 0 до 255 (от 00000000 до 11111111), а в
двух байтах – уже любое целое число в диапазоне от 0 до 65 535. Это намного лучше, нежели сохранять в двух байтах только
целые числа от 0 до 99, как при использовании для кодировки числа однобайтовых символов в кодах ASCII.
Представление изображений. Наиболее распространенные из существующих методов представления изображений
можно разделить на две большие категории: растровые методы (bitmap techniques) и векторные методы (vector techniques).
При растровом методе изображение представляется как совокупность точек, называемых пикселями (pixel, сокращение от
picture element – элемент изображения). Говоря упрощенно, изображение кодируется в виде длинных строк битов, которые
представляют цвет пикселей в изображении. Для черно-белых изображений каждый пиксель представляется 1 битом. При
этом каждый бит равен 0 или 1, в зависимости от того, является ли соответствующий пиксель черным или белым.
Для передачи градаций серого цвета в черно-белых изображениях каждый пиксель кодируется комбинацией из 8 бит.
Это позволяет передать 256 значений серого цвета.
Большинство периферийных устройств современных вычислительных машин, например факсимильные аппараты, ви-
деокамеры или сканеры, преобразует цветные изображения в графические файлы с растровым форматом. Чаще всего эти
устройства записывают цвет каждого пикселя, раскладывая его на три составляющие – красную (Red, R), зеленую (Green, G) и
синюю (Blue, B), соответствующие трем первичным цветам. Такая система кодирования называется системой RGB по пер-
вым буквам основных цветов.
Для передачи интенсивности каждого цвета обычно используется один байт (или 24 двоичных разрядов на 1 пиксель).
Это позволяет определить 16,5 млн. различных цветов. Такой режим представления цветной графики называется полноцвет-
ным (True Color).
При уменьшении количества двоичных разрядов до 16 на 1 пиксель удается передать 65 тыс. различных цветов. Такой
режим представления цветной графики называется High Color.
Аналогичный трехкомпонентный пиксельный подход к передаче графической информации используется и при выводе
изображений на экраны мониторов современных компьютеров. Экраны этих устройств содержат десятки тысяч пикселей,
каждый из которых состоит из трех компонентов (красного, зеленого и синего), что можно заметить, воспользовавшись уве-
личительным стеклом, а иногда даже невооруженным глазом.
Формат "три байта на пиксель" означает, что для хранения изображения, в котором 1280 рядов по 1024 пикселя (фото-
графия обычного размера), потребуется несколько мегабайт памяти, что существенно превышает размер стандартной диске-
ты. В разделе 1.6 будут рассмотрены два наиболее распространенных формата для сжатия подобных изображений до более при-
емлемых размеров (это форматы GIF и JPEG).
Одним из недостатков растровых методов является трудность пропорционального изменения размеров изображения до
произвольно выбранного значения. В сущности, единственный способ увеличить изображение – это увеличить сами пиксе-
ли. Однако это приводит к появлению зернистости, что также часто встречается и при фотографировании на пленку. Век-
торные методы позволяют избежать проблем масштабирования, характерных для растровых методов. В этом случае изобра-
жение представляется в виде совокупности линий и кривых. Вместо того, чтобы заставлять устройство воспроизводить за-
данную конфигурацию пикселей, составляющих изображение, ему передается подробное описание того, как расположены
образующие изображение линии и кривые. На основе этих данных устройство, в конечном счете, и создает готовое изобра-
жение. С помощью подобной технологии описываются различные шрифты, поддерживаемые современными принтерами и
мониторами. Они позволяют изменять размер символов в широких пределах и по этой причине получили название масшта-
бируемых шрифтов. Например, технология True Type, разработанная компаниями Microsoft и Apple Computer, описывает
способ отображения символов в тексте. Для подобных целей предназначена и технология PostScript (разработанная компа-
нией Adobe Systems), позволяющая описывать способ отображения символов, а также других, более общих графических
данных. Векторные методы также широко применяются в автоматизированных системах проектирования (computer-aided
design, CAD), которые отображают на экране мониторов чертежи сложных трехмерных объектов и предоставляют средства
01001000
01100101
01101100
01101100
01101111
00101110
Н e
l l o .