Представление в ЭВМ символьных (текстовых) данных



 Символьные данные.Символ - это элемент алфавита (буква, цифра, знак препинания, специальный знак и т.п.).

Примеры символов: А 7 Z + ? & " .

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

Символы служат для задания текстов. Поэтому символьные данные нередко называют текстовыми.

На практике чаще приходится иметь дело не с отдельными символами, а со строками.

Строка - это последовательность символов.

Для явного обозначения символьных данных во многих программных продуктах (в частности, продуктах Microsoft Office) используются кавычки ("), например, "компьютер". Есть программные продукты, в которых используются не кавычки, а апострофы: 'компьютер'.

В ЭВМ символы кодируются с помощью чисел.

Кодовая таблица - это таблица, ставящая в соответствие символам их коды.

Код символа - это его номер в кодовой таблице.

Количество различных символов, которых можно включить в кодовую таблицу, зависит от количества бит, отводимых для кодирования одного символа. Так, например, на 7-и битах можно закодировать 27 = 128 символов, а на 8-и битах (одном байте) - 256 символов.

Исторически так уж сложилось, что были разработаны и используются несколько несколько различных систем кодировки, отличающихся не только символьным набором, но даже номерами одних и тех же символов. Это создает проблемы при обмене текстовыми данными, созданными в различных приложениях.

Однобайтовые системы кодировки

Это системы, в которых для кодировки символов используется 1 байт. Ниже коротко рассмотрены некоторые из них.

ASCII

Кодовая таблица ASCII (American Standard Code for Information Interchange) была 7-битной. Содержала 128 символов (буквы английского алфавита, цифры, знаки препинания, некоторое количество специальных символов).

Следующий шаг - 8-битный код, получивший название расширенный ASCII. Вторая половина (номера от 128 до 255) предназначена для символов национальных алфавитов (например, кириллицы), других специальных знаков. Поскольку национальных алфавитов много, пришлось ввести понятие кодовой страницы, т.е. каждая кодовая страница - это свой набор символов.

Windows 1251 ( Win1251, CP1251, Code Page 1251)

Является основной для ОС Windows. Широко используется в сети Интернет. Приложения, созданные в ОС Windows, как правило по умолчанию предполагают использование этой системы кодировки.

MS DOS (CP866, DOS 866, Code Page 866)

Из названия ясно, что эта система применялась в компьютерах, работавших под управлением операционной системы MS DOS. Хотя и считается устаревшей, но списывать ее рано, поскольку в ряде учреждений еще используются DOS-приложения.

КОИ8-Р (KOI8-R, Код Обмена Информацией, 8-ми битный, Русский)

Используется в ОС Unix, Linux.

 Система Unicode (Юникод)

Стандарт Unicode предусматривает 3 формы: 32-битную (UTF-32), 16-битную (UTF-16), 8-битную (UTF-8).

8-битная форма предназначена для более удобной совместимости с ASCII-ориентированными системами.

16-битная форма позволяет закодировать 65536 символов. Этого достаточно для охвата практически всех существующих языков мира.

32-битная форма позволяет закодировать уже 232 = 4294967296 символов. Фактически предусмотрено кодирование 220 + 216 = 1114112 символов. Это покрывает и малораспространенные языки, и все известные символы и исторические знаки.

 Обработка символьных данных

Для символьных данных определена лишь одна операция, результат которой - символьный тип. Это операция

( & ) - конкатенация (слияние) строк.

В некоторых программных продуктах (в основном старых) в качестве оператора конкатенации используется знак "+", но из-за возникающей нередко путаницы со сложением чисел в новых программных продуктах предпочтение отдается амперсанду (&). Впрочем, в некоторых программных продуктах для слияния (конкатенации) строк используется функция CONCAT(). В Excel, например, для слияния можно использовать и функцию CONCAT(), и оператор (&).

Для символьных данных определены и операции сравнения. Результат - логического типа.

При сравнении одиночных символов фактически сравниваются их номера в кодовой таблице. Например, выражение "а" < "f" даст значение ИСТИНА, поскольку буква "а" в кодовой таблице предшествует букве "f". Что касается сравнения строк, то надо смотреть документацию к используемому программному продукту, поскольку, как говорится, возможны варианты.

 

   16.     Цветовые модели

Цветовая модель - это способ математического описания цветовых областей спектра.

Существует несколько цветовых моделей, которые можно разделить на 2 группы:

  • аддитивные;
  • субтрактивные.

 Аддитивные модели

Название этой группы моделей происходит от английского слова add (складывать, суммировать). Результирующий цвет получается сложением лучей разных цветов. Нас прежде всего интересует сложение лучей, которое происходит в человеческом глазу.

Человеческий глаз способен различать раздельно 2 объекта, если a - угловое расстояние (угол зрения) между ними превышает 1'' (одну угловую секунду = 1/3600 углового градуса).

Если угол a меньше одной угловой секунды, то луч1 и луч2 сливаются и два объекта воспринимаются глазом как один. Если при этом луч1 и луч2 разного цвета, то, складываясь в рецепторах глаза, они воспринимаются человеком как один аддитивный цвет.

Основная аддитивная модель - RGB, получившая название по первым буквам названий трех основных (первичных)цветов в этой модели в английском языке:

  • R (Red - красный, К);
  • G (Green - зеленый, З);
  • B (Blue - синий, С).

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

С эффектом сложения цветов мы сталкиваемся при наблюдении изображения на экране монитора. Экран представляет собой матрицу триад красного, зеленого и синего элементов. При определенном удалении от экрана элементы триад сливаются и в глазу происходит сложение цветов.

На рисунке приведено несколько вариантов сложения трех основных цветов с разными уровнями интенсивности (минимальный уровень - 0, максимальный - 255).

 

Рисунок получен в графическом редакторе Paint. Читателю предлагается самостоятельно поэкспериментировать с разными вариантами сложения цветов, запустив редактор Paint и выполнив: Команда меню Палитра/Изменить палитру/[Определить цвет] и далее в строках ввода с названиями Красный, Зеленый и Синий задавать уровни основных цветов в диапазоне значений 0..255.

Субтрактивные модели

Название происходит от английского subtract (вычитать).

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

Отраженный свет - это в конечном итоге результат поглощения изображением части светового спектра падающего света. Например, если мы видим красное пятно, то это значит, что пятно поглощает все цвета кроме красного.

Субтрактивная модель CMY базируется на трех цветах:

  • Cyan (циан – бирюзовый)
  • Magenta (магента – пурпурный)
  • Yellow (желтый)

Эти цвета (называемые еще вторичными), являются попарной комбинацией трех первичных цветов:
C = B + G (отсутствует R – красный);
M = R + B (отсутствует G – зеленый);
Y = R + G (отсутствует B – синий).

Если мы в отраженном свете наблюдаем, например, изображение цвета Cyan, то это значит, что изображение поглотило все цветовые составляющие, кроме синей и зеленой. Комбинируя в разных пропорциях вторичные цвета, можно получить разноцветное изображение. Например, при облучении белым светом (R+G+B):

§ C + M ® B (синий). Поглощены красный (цианом) и зеленый (пурпурным);

§ M + Y ® R (красный). Поглощены зеленый (пурпурным) и синий (желтым);

§ C + M + Y ® черный. Поглощены все цветовые составляющие.

Реально трудно изготовить чистые краски трех вторичных цветов, поэтому при их смешивании получается не черный цвет, а грязно-коричневый. По этой причине, а также в силу относительной дороговизны цветных красок, разработана субтрактивная модель CMYK с добавлением еще одного цвета – blacK – черного:


Дата добавления: 2018-04-15; просмотров: 1111; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!