Принцип кодирования символов в персональном компьютере заключается в том что

Обновлено: 07.07.2024

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

Кодирование текстовой информации

Самый распространенный способ кодирования текстовой информации — это ее двоичное представление, которое сплошь и рядом используется в каждом компьютере, роботе, станке и т. д. Все кодируется в виде слов в двоичном представлении.

Сама технология двоичного представления информации зародилась еще задолго до появления первых компьютеров. Среди первых устройств, которые использовали двоичный метод кодирования, был аппарат Бодо — телеграфный аппарат, который кодировал информацию в 5 битах в двоичном представлении. Суть кодировки заключалась в простой последовательности электрических импульсов:

  • 0 — импульс отсутствует;
  • 1 — импульс присутствует.

В компьютерный мир такая кодировка пришла вместе с персонализацией самих компьютеров. То есть в первых компьютерах не было такой кодировки. Но как только компьютеры стали уходить «в массы», то резко обнаружилась потребность обрабатывать компьютерами большое количество именно текстовой информации, которую нужно было как-то кодировать. Тенденция обрабатывать большое количество текстовой информации сохранилась и в современных устройствах.

Так получилось, что двоичное кодирование в компьютерах связано только с двумя символами «0» и «1», которые выстраиваются в определенной логической последовательности. А сам язык подобной кодировки стал называться машинным.

Кодирование текстовой информации и компьютеры

Если смотреть на текст глазами компьютера, то в тексте нет предложений, абзацев, заголовков и т. д., потому что весь текст просто состоит из отдельных символов. Причем символами будут являться не только буквы, но и цифры, и любые другие специальные знаки (+, -,*,= и т. д.). Что самое интересное, даже пробелы, перенос строки и табуляция — для компьютера это тоже отдельные символы.

Для справки. Есть уникальный язык программирования, который в качестве своих операторов использует только пробелы, табуляции и переносы строки. Практического применения этот язык не имеет, но он есть.

Кодирование текстовой информации в компьютерных устройствах сводится к тому, что каждому отдельному символу присваивается уникальное десятичное значение от 0 и до 255 или его эквивалент в двоичной форме от 00000000 и до 11111111. Люди могут различать символы по их внешнему виду, а компьютерное устройство только по их уникальному коду.

Рассмотрите, как происходит процесс. Мы нажимаем нужный нам символ на клавиатуре, ориентируясь на их внешний вид. В оперативную память компьютера он попадает в двоичном представлении, а когда компьютер его выводит нам на экран, то происходит процесс декодирования, чтобы мы увидели знакомый нам символ.

Кодирование текстовой информации и компьютеры

Кодирование текстовой информации и таблицы кодировок

Таблица кодировки — это место, где прописано какому символу какой код относится. Все таблицы кодировки являются согласованными — это нужно, чтобы не возникало путаницы между документами, закодированными по одной таблице, но на разных устройствах.

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

1. Два текста содержат одинаковое количество символов. Первый текст записан на русском языке, а второй на языке племени нагури, алфавит которого состоит из 16 символов. Чей текст несет большее количество информации?

Решение.

I = К * а (информационный объем текста равен произведению числа символов на информационный вес одного символа).
Т.к. оба текста имеют одинаковое число символов (К), то разница зависит от информативности одного символа алфавита (а).
2 а1 = 32, т.е. а1 = 5 бит,
2 а2 = 16, т.е. а2 = 4 бит.
I1 = К * 5 бит, I2 = К * 4 бит.
Значит, текст, записанный на русском языке в 5/4 раза несет больше информации.

Кодирование графической информации

Векторное и фрактальное изображения.

Векторное изображение - это графический объект, состоящий из элементарных отрезков и дуг. Базовым элементом изоражения является линия. Как и любой объект, она обладает свойствами: формой (прямая, кривая), толщиной., цветом, начертанием (пунктирная, сплошная). Замкнутые линии имеют свойство заполнения (или другими объектами, или выбранным цветом). Все прочие объекты векторной графики составляются из линий. Так как линия описывается математически как единый объект, то и объем данных для отображения объекта средствами векторной графики значительно меньше, чем в растровой графике. Информация о векторном изображении кодируется как обычная буквенно-цифровая и обрабатывается специальными программами.

К программным средствам создания и обработки векторной графики относятся следующие ГР: CorelDraw, Adobe Illustrator, а также векторизаторы (трассировщики) - специализированные пакеты преобразования растровых изображений в векторные.

Фрактальная графика основывается на математических вычислениях, как и векторная. Но в отличии от векторной ее базовым элементом является сама математическая формула. Это приводит к тому, что в памяти компьютера не хранится никаких объектов и изображение строится только по уравнениям. При помощи этого способа можно строить простейшие регулярные структуры, а также сложные иллюстрации, которые иммитируют ландшафты.

Задачи.

Известно, что видеопамять компьютера имеет объем 512 Кбайт. Разрешающая способность экрана 640 на 200. Сколько страниц экрана одновременно разместится в видеопамяти при палитре
а) из 8 цветов;
б) 16 цветов;
в) 256 цветов?

Сколько бит требуется, чтобы закодировать информацию о 130 оттенках? Нетрудно подсчитать, что 8 (то есть 1 байт), поскольку при помощи 7 бит можно сохранить номер оттенка о 0 до 127, а 8 бит хранят от 0 до 255. Легко видеть, что такой способ кодирования неоптимален: 130 заметно меньше 255. Подумайте, как уплотнить информацию о рисунке при его записи в файл, если известно, что
а) в рисунке одновременно содержится только 16 цветовых оттенков из 138 возможных;
б) в рисунке присутствуют все 130 оттенков одновременно, но количество точек, закрашенных разными оттенками, сильно различаются.

Решение.

а) очевидно, что для хранения информации о 16 оттенках достаточно 4 бита (половина байта). Однако так как эти 16 оттенков выбраны из 130, то они могут иметь номера, не умещающиеся в 4 битах. Поэтому воспользуемся методом палитр. Назначим 16 используемым в нашем рисунке оттенкам свои “локальные” номера от 1 до 15 и закодируем весь рисунок из расчета 2 точки на байт. А затем допишем к этой информации (в конец содержащего ее файла) таблицу соответствия, состоящую из 16 пар байтов с номерами оттенков: 1 байт - наш “локальный” номер в данном рисунке, второй - реальный номер данного оттенка. (когда вместо последнего используется закодированная информация о самом оттенке, например, сведения об яркости свечения “электроннык пушек” Red, Green, Blue электронно-лучевой трубки, то такая таблица и будет представлять собой палитру цветов). Если рисунок достаточно велик, выигрыш в объеме полученного файла будет значительным;
б) попытаемся реализовать простейший алгоритм архивации информации о рисунке. Назначим трем оттенкам, которыми закрашено минимальное количество точек, коды 128 - 130, а остальным оттенкам - коды 1 -127. Будем записывать в файл (котрый в этом случае представлыет собой не последовательность байтов, а сплошной битовый поток) семибитные коды для оттенков с номерами от 1 до 127. Для оставшихся же трех оттенков в битовом потоке будем записывать число-признак - семибитный 0 - и сразу за ним двухбитный “локальный” номер, а в конце файла добавим таблицу соответствия “локальных”и реальных номеров. Так как оттенки с кодами 128 - 130 встречаются редко, то семибитных нулей будет немного.

Заметим, что постановка вопросов в данной задаче не исключает и другие варианты решения, без привязки к цветовому составу изображения - архивацию:
а) на основе выделения последовательности точек, закрашенных одинаковыми оттенками и замены каждой из этих последовательностей на пару чисел (цвет),(количество) (этот принцип лежит в основе графического формата РСХ);
б) путем сравнения пиксельных строк (запись номеров оттенков точек первой страницы целиком, а для последующих строк запись номеров оттенков только тех точек, оттенки которых отличаются от отенков точек, стоящих в той же позиции в предыдущей строке, - это основа формата GIF);
в) с помощью фрактального алгоритма упаковки изображений (формат YPEG). (ИО 6,1999)

Кодирование звуковой информации

Мир наполнен самыми разнообразными звуками: тиканье часов и гул моторов, завывание ветра и шелест листьев, пение птиц и голоса людей. О том, как рождаются звуки и что они собой представляют люди начали догадываться очень давно. Еще древнегреческий философ и ученый - энциклопедист Аристотель, исходя из наблюдений, объяснял природу звука, полагая, что звучащее тело создает попеременное сжатие и разрежение воздуха. Так, колеблющаяся струна то разряжает, то уплотняет воздух, а из-за упругости воздуха эти чередующиеся воздействия передаются дальше в пространство - от слоя к слою, возникают упругие волны. Достигая нашего уха, они воздействуют на барабанные перепонки и вызывают ощущение звука.

На слух человек воспринимает упругие волны, имеющие частоту где-то в пределах от 16 Гц до 20 кГц (1 Гц - 1 колебание в секунду). В соответствии с этим упругие волны в любой среде, частоты которых лежат в указанных пределах, называют звуковыми волнами или просто звуком. В учении о звуке важны такие понятия как тон и тембр звука. Всякий реальный звук, будь то игра музыкальных инструментов или голос человека, - это своеобразная смесь многих гармонических колебаний с определенным набором частот.

Колебание, которое имеет наиболее низкую частоту, называют основным тоном, другие - обертонами.

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

Музыкальный звук можно характеризовать тремя качествами: тембром, т. е. окраской звука, которая зависит от формы колебаний, высотой, определяющейся числом колебаний в секунду (частотой), и громкостью, зависящей от интенсивности колебаний.

Компьютер широко применяют в настоящее время в различных сферах. Не стала исключением и обработка звуковой информации, музыка. До 1983 года все записи музыки выходили на виниловых пластинках и компакт-кассетах. В настоящее время широкое распространение получили компакт-диски. Если имеется компьютер, на котором установлена студийная звуковая плата, с подключенными к ней MIDI-клавиатурой и микрофоном, то можно работать со специализированным музыкальным программным обеспечением.

Условно его можно разбить на несколько видов:

Фонограмма и ее временная дискретизация

аКПрименение
8256Недостаточно для достоверного восстановления исходного сигнала, так как будут большие нелинейные искажения. Применяют в основном в мультимедийных приложениях, где не требуется высокое качество звука
1665536Используется при записи компакт-дисков,так как нелинейные искажения сводятся к минимуму.
201048576Где требуется высококачественная оцифровка звука.

Но эти данные истинны только для того сигнала, чей максимальный уровень 0 дБ. Если нужно семплировать сигнал с уровнем 6 дБ с разрядностью 16 бит, то для кодирования его амплитуды будет оставаться на самом деле только 15 бит. Если сигнал с уровнем 12 дБ, то 14 бит. С увеличением уровня сигнала увеличивается разрядность его оцифровки, а значит , уменьшается уровень нелинейных искажений (В технической литературе существует термин «шум квантования»), в свою очередь каждые 6 дБ уменьшающие уровень будут «съедать» 1 бит.

В настоящее время появился новый бытовой цифровой формат Audio DVD, который использует разрядность 24 бита и частоту семплирования 96 кГц. С его помощью можно избежать выше рассмотренного недостатка 16-битного кодирования.

На современные цифровые звуковые устройства устанавливаются 20-битные преобразователи. Звук так и остается 16-битным, преобразователи повышенной разрядности устанавливают для улучшения качества записи на низких уровнях. Их принцип работы заключается в следующем: исходный аналоговый сигнал оцифровывается с разрядностью 20 бит. Затем цифровой сигнальный процессор DSPП онижает его разрядность до 16 бит. При этом используется специальный алгоритм вычислений, при помощи которого можно снизить искажения низкоуровневых сигналов. Обратный процесс наблюдается при цифро-аналоговом преобразовании: разрядность повышается с 16 до 20 бит при использовании специального алгоритма, который позволяет более точно определять значения амплитуды. То есть звук остается 16-разрядным, но имеется общее улучшение качества звучания.

Задачи.

1. Подсчитать, сколько места будет занимать одна минута цифрового звука на жестком диске или любом другом цифровом носителе, записанного с частотой
а) 44.1 кГц;
б) 11 кГц;
в) 22 кГц;
г) 32 кГц
и разрядностью 16 бит.

Решение.

а) Если записывают моносигнал с частотой 44.1 кГц, разрядностью 16 бит (2 байта), то каждую минуту аналого-цифровой преобразователь будет выдавать 441000 * 2 * 60 = 529000 байт (примерно 5 Мб) данных об амплитуде аналогового сигнала, который в компьютере записываются на жесткий диск.
Если записывают стереосигнал, то 1058000 байт (около 10 Мб)
б) для частот 11, 22, 32 кГц расчеты производятся аналогично.

2. Какой информационный объем имеет моноаудиофайл, длительность звучания которого 1 секунда, при среднем качестве звука (16 бит, 24 кГц)?

Решение.

16 бит * 24000 = 384000 бит = 48000 байт = 47 кБайт

3. Рассчитайте объем стереоаудиофайла длительностью 20 секунд при 20-битном кодировании и частоте дискретизации 44.1 кГц.

Решение.

20 бит * 20 * 44100 * 2 = 35280000 бит = 4410000 байт = 4.41 Мб

К = 2 8 = 256.

Самостоятельная работа ( а) - первый вариант, б) - второй).

1. Привести пример
а) аналогового способа представления звуковой информации;
б) дискретного способа представления звуковой информации.

2. Что называется
а) частотой дискретизации (семплирования);
б) семплом.

Не являясь специалистом в обозначенной области я, тем не менее, прочитал много специализированной литературы для знакомства с предметом и прорываясь через тернии к звёздам набил, на начальных этапах, немало шишек. При всём изобилии информации мне не удалось найти простые статьи о кодировании как таковом, вне рамок специальной литературы (так сказать без формул и с картинками).

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

0. Начало

Поскольку я обращаюсь к новичкам в этом вопросе, то не посчитаю зазорным обратиться к Википедии. А там, для обозначения кодирования информации, у нас есть такое определение - процесс преобразования сигнала из формы, удобной для непосредственного использования информации, в форму, удобную для передачи, хранения или автоматической переработки.

Чего мне не хватало в 70-80-е, так это в школе, пусть не на информатике, а, например, на уроках математики - базовой информации по кодированию. Дело в том, что кодированием информации каждый из нас занимается ежесекундно, постоянно и в целом - не концентрируясь на самом кодировании. То есть в быту мы это делаем постоянно. Так как это происходит?

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

Давайте рассмотрим некоторые более подробно.

1.1 Речь, мимика, жесты

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

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

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

1.2 Чередующиеся сигналы

Индеец пингует

Индеец пингует

В примитивном виде кодирование чередующимися сигналами используется человечеством очень давно. В предыдущем разделе мы сказали про дым и огонь. Если между наблюдателем и источником огня ставить и убирать препятствие, то наблюдателю будет казаться, что он видит чередующиеся сигналы "включено/выключено". Меняя частоту таких включений мы можем выработать последовательность кодов, которая будет однозначно трактоваться принимающей стороной.

Наряду с сигнальными флажками на морских и речных судах, при появлении радио начали использовать код Морзе. И при всей кажущейся бинарности (представление кода двумя значениями), так как используются сигналы точка и тире, на самом деле это тернаный код, так как для разделения отдельных кодов-символов требуется пауза в передаче кода. То есть код Морзе кроме "точка-тире", что нам даёт букву "A" может звучать и так - "точка-пауза-тире" и тогда это уже две буквы "ET".


1.3 Контекст

Когда мы пользуемся компьютером, мы понимаем, что информация бывает разной - звук, видео, текст. Но в чем основные различия? И до того, как начать информацию кодировать, чтобы, например, передавать её по каналам связи, нужно понять, что из себя представляет информация в каждом конкретном случае, то есть обратить внимание на содержание. Звук - череда дискретных значений о звуковом сигнале, видео - череда кадров изображений, текст - череда символов текста. Если мы не будем учитывать контекст, а, например, будем использовать азбуку Морзе для передачи всех трёх видов информации, то если для текста такой способ может оказаться приемлемым, то для звука и видео время, затраченное на передачу например 1 секунды информации, может оказаться слишком долгим - час или даже пара недель.

2. Кодирование текста

От общего описания кодирования перейдём к практической части. Из условностей мы за константу примем то, что будем кодировать данные для персонального компьютера, где за единицу информации приняты - бит и байт. Бит, как атом информации, а байт - как условный блок размером в 8 бит.

Текст в компьютере является частью 256 символов, для каждого отводится один байт и в качестве кода могут быть использованы значения от 0 до 255. Так как данные в ПК представлены в двоичной системе счисления, то один байт (в значении ноль) равен записи 00000000, а 255 как 11111111. Чтение такого представления числа происходит справа налево, то есть один будет записано как 00000001.

Итак, символов английского алфавита 26 для верхнего и 26 для нижнего регистра, 10 цифр. Так же есть знаки препинания и другие символы, но для экспериментов мы будем использовать только прописные буквы (верхний регистр) и пробел.

Тестовая фраза "ЕХАЛ ГРЕКА ЧЕРЕЗ РЕКУ ВИДИТ ГРЕКА В РЕЧКЕ РАК СУНУЛ ГРЕКА РУКУ В РЕКУ РАК ЗА РУКУ ГРЕКУ ЦАП".


2.1 Блочное кодирование

Информация в ПК уже представлена в виде блоков по 8 бит, но мы, зная контекст, попробуем представить её в виде блоков меньшего размера. Для этого нам нужно собрать информацию о представленных символах и, на будущее, сразу подсчитаем частоту использования каждого символа:

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

Множество целых чисел , представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера области памяти, используемой для размещения чисел. В k-разрядной ячейке может храниться 2 k различных значений целых чисел.

Чтобы получить внутреннее представление целого положительного числа N, хранящегося в k-разрядном машинном слове, необходимо:
1) перевести число N в двоичную систему счисления;
2) полученный результат дополнить слева незначащими нулями до k разрядов.

Например, получим внутреннее представление целого числа 1607 в 2-х байтовой ячейке. Переведем число в двоичную систему: 1607 10 = 11001000111 2 . Внутреннее представление этого числа в ячейке будет следующим: 0000 0110 0100 0111.

Для записи внутреннего представления целого отрицательного числа (-N) необходимо:
1) получить внутреннее представление положительного числа N;
2) обратный код этого числа заменой 0 на 1 и 1 на 0;
3) полученному числу прибавить 1.

Например, получим внутреннее представление целого отрицательного числа -1607. Воспользуемся результатом предыдущего примера и запишем внутреннее представление положительного числа 1607: 0000 0110 0100 0111. Инвертированием получим обратный код: 1111 1001 1011 1000. Добавим единицу: 1111 1001 1011 1001 - это и есть внутреннее двоичное представление числа -1607.

Формат с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления n в некоторой целой степени p , которую называют порядком: R = m * n p .

Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства: 12.345 = 0.0012345x10 4 = 1234.5x10 -2 = 0.12345x10 2 .

Чаще всего в ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в таком представлении должна удовлетворять условию: 0.1 p <= m < 1 p . Иначе говоря, мантисса меньше 1 и первая значащая цифра не ноль (p - основание системы счисления).

В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся), так для числа 12.345 в ячейке памяти, отведенной для хранения мантиссы, будет сохранено число 12345. Для однозначного восстановления исходного числа остается сохранить только его порядок, в данном примере - это 2.

Двоичная система счисления (двоичный код) - код, в котором для представления информации используются цепочки бит. Для представления целых чисел используются:
- прямой код - знак кодируется нулем для положительных и единицей для отрицательных. 510= 0 000101; -510= 1 000101
- обратный код (или дополнительный - дополненный до единицы) для положительных чисел совпадает с прямым кодом, а для отрицательных получается из соответствующего прямого путем поразрядного обращения каждого бита кроме знакового: -5=1 111010

Данный код позволяет унифицировать сложение и вычитание с оговоркой, что если при суммировании чисел в обратном коде длина результата превысит стандартную длину цепочки, то происходит циклический перенос старшего разряда в младший, например: (+5) +(-3)=0000101+1111100=1 "0000001"= "0000010"=210.

Для умножения и деления обратный код менее удобен, чем прямой. В основном обратный код нужен для получения дополнительного.

Дополнительный код (или дополнение до двух) для положительных чисел совпадает с прямым, а для отрицательных чисел получается из обратного кода сложением с 1. Например: -5=1 111011.

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

Компьютерное кодирование текста

Множество символов, используемых при записи текста, называется алфавитом . Количество символов в алфавите называется его мощностью .

Для представления текстовой информации в компьютере чаще всего используется алфавит мощностью 256 символов. Один символ из такого алфавита несет 8 бит информации, т. к. 28 = 256. Но 8 бит составляют один байт, следовательно, двоичный код каждого символа занимает 1 байт памяти ЭВМ.

Для разных типов ЭВМ и операционных систем используются различные таблицы кодировки, отличающиеся порядком размещения символов алфавита в кодовой таблице. Международным стандартом на персональных компьютерах является уже упоминавшаяся таблица кодировки ASCII.

Принцип последовательного кодирования алфавита заключается в том, что в кодовой таблице ASCII латинские буквы (прописные и строчные) располагаются в алфавитном порядке. Расположение цифр также упорядочено по возрастанию значений.

Стандартными в этой таблице являются только первые 128 символов, т. е. символы с номерами от нуля (двоичный код 00000000) до 127 (01111111). Сюда входят буквы латинского алфавита, цифры, знаки препинания, скобки и некоторые другие символы. Остальные 128 кодов, начиная со 128 (двоичный код 10000000) и кончая 255 (11111111), используются для кодировки букв национальных алфавитов, символов псевдографики и научных символов.

Сейчас существует несколько различных кодовых таблиц для русских букв (КОИ-8, СР-1251, СР-866, Mac, ISO), причем тексты, созданные в одной кодировке, могут неправильно отображаться в другой. Решается такая проблема с помощью специальных программ перевода текста из одной кодировки в другую.

Альтернативная кодировка не подошла для ОС Windows. Пришлось передвинуть русские буквы в таблице на место псевдографики, и получили кодировку Windows 1251 (Win-1251).

В течение долгого времени понятия "байт" и "символ" были почти синонимами. Однако, в конце концов, стало ясно, что 256 различных символов - это не так много. Математикам требуется использовать в формулах специальные математические знаки, переводчикам необходимо создавать тексты, где могут встретиться символы из различных алфавитов, экономистам необходимы символы валют ($, £, ¥). Для решения этой проблемы была разработана универсальная система кодирования текстовой информации - Unicode. В этой кодировке для каждого символа отводится не один, а два байта, т.е. шестнадцать бит. Таким образом, доступно 65536 (2 16 ) различных кодов. Этого хватит на латинский алфавит, кириллицу, иврит, африканские и азиатские языки, различные специализированные символы: математические, экономические, технические и многое другое. Главный недостаток Unicode состоит в том, что все тексты в этой кодировке становятся в два раза длиннее. В настоящее время стандарты ASCII и Unicode мирно сосуществуют.

Компьютерное кодирование графики

Почти все создаваемые, обрабатываемые или просматриваемые с помощью компьютера изображения можно разделить на две большие части - растровую и векторную графику. Для представления графической информации растровым способом используется так называемый точечный подход. На первом этапе вертикальными и горизонтальными линиями делят изображение. Чем больше при этом получилось элементов (пикселей), тем точнее будет передана информация об изображении. Как известно из физики, любой цвет может быть представлен в виде суммы различной яркости красного, зеленого и синего цветов. Поэтому надо закодировать информацию о яркости каждого из трех цветов для отображения каждого пикселя. В видеопамяти находится двоичная информация об изображении, выводимом на экран. Таким образом, растровые изображения представляют собой однослойную сетку точек, называемых пикселями (pixel, от англ. picture element), а код пикселя содержит информацию о его цвете.

Для черно-белого изображения (без полутонов) пиксель может принимать только два значения: белый и черный (светится - не светится), а для его кодирования достаточно одного бита памяти: 1 - белый, 0 - черный.

Пиксель на цветном дисплее может иметь различную окраску, поэтому одного бита на пиксель недостаточно. Для кодирования 4-цветного изображения требуются два бита на пиксель, поскольку два бита могут принимать 4 различных состояния. Может использоваться, например, такой вариант кодировки цветов: 00 - черный, 10 - зеленый, 01 - красный, 11 - коричневый.

На RGB-мониторах все разнообразие цветов получается сочетанием базовых цветов: красного (Red), зеленого (Green), синего (Blue), из которых можно получить 8 основных комбинаций:

Читайте также: