С помощью компьютерных технологий можно абсолютно точно закодировать

Обновлено: 04.07.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Таблица кодировки – таблица, описывающая соответствие между каждым

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

Так, в одной из международных таблиц кодировки компьютерного алфавита пробелу соответствует порядковый номер 32, знаку «!» - порядковый номер 33, цифре «0» - порядковый номер 48, цифре «1» - порядковый номер 49, строчной английской букве « a » - порядковый номер 97, а строчной английской букве « b » - порядковый номер 98 и т.д. Таким образом, все символы и их номера оказываются упорядоченными. Поэтому отдельные символы (буквы, цифры, знаки препинания), а значит, и составленные из них слова текста компьютер может автоматически сортировать, сравнивая порядковые номера символов (меньше, больше или равно).

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

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

Количество двоичных разрядов, необходимых для кодирования каждого символа, а значит, и количество битов памяти, требуемых для хранения символа, зависит от мощности компьютерного алфавита. Мощность компьютерного алфавита, который содержит все символы, расположенные на клавиатуре компьютера (прописные и строчные буквы английского и русского алфавитов, цифры, различные знаки), больше чем 128 символов (128=2 7 ), но меньше чем 256 (256=2 8 ). Поэтому для кодирования каждого символа такого компьютерного алфавита достаточно 8 двоичных знаков, и информационные вес одного символа составляет 8 бит, равных 1 байту. Значит, для хранения в компьютере одного из 256 символов компьютерного алфавита необходим 1 байт памяти.


В кодовой таблице ASCII :

  • Порядковые номера с 0 по 31 соответствуют символам управляющих операций (переходу на следующую строку, удалению символа, табуляции и другим операциям);
  • Порядковые номера с 32 по 63 соответствуют пробелу, знакам препинания, скобкам, знакам арифметических операций, цифрам и некоторым другим символам;
  • Порядковые номера с 64 по 95 соответствуют заглавным буквам английского алфавита и некоторым другим символам;
  • Порядковые номера с 96 по 127 соответствуют строчным буквам английского алфавита и некоторым другим символам.

ПРИМЕР. Определить объем памяти, необходимый для хранения слова « Hello », и закодировать это слово для хранения в памяти компьютера.

1)Определим объем памяти для хранения слова. Поскольку для хранения каждого символа из 256-символьного алфавита необходим 1 байт памяти (2 i = 256, i = 8 юит = 1 байт), то для хранения пяти символов, составляющих слово « Hello », необходимо 5 байт памяти ( I = i * k =1*5=5 байт).

2)Определим порядковые номера символов в основной части таблицы кодировки ASCII . Пяти английским буквам, входящим в слово « Hello », соответствуют порядковые номера: 72, 101, 108, 108, 111.

01001000 01100101 01101100 01101100 01101111.

Ответ. Для хранения слова « Hello » необходимо 5 байтов памяти, в битах которых необходимо сохранить двоичный код: 01001000 01100101 01101100 01101100 01101111.

Существует несколько вариантов дополнительной части кодовой таблицы ASCII для кодирования символов русского алфавита. Например, кодировка Windows -125, используемая в операционной системе MS Windows , а также кодировка КОИ-8, используемая в операционной системе Unix и при передаче текстовой информации с помощью компьютерных сетей.

Эти кодировки отличаются последовательностью расположения символов. В кодировке Windows -125 в алфавитном порядке вначале расположены прописные русские буквы, а затем строчные русские буквы. В кодировке КОИ-8 последовательность букв другая, следовательно, и кодирование букв другое. Поэтому тексты, закодированные с использованием одной кодировки, будут неправильно отображаться при декодировании с использованием другой кодировки. Например, слово «Привет», сохраненное в памяти компьютера с использованием кодировки Windows -125, будет выведено на экран монитора как «оПХБЕР» с использованием кодировки КОИ-8. Для перекодировки символов существуют программы-конвертеры, которые входят в состав операционных систем и приложений.



Для того, чтобы решить проблему стандартизации кодирования букв национальных алфавитов, была разработана таблица кодировки Unicode , в которой каждому символу компьютерного алфавита ставится в соответствие 16-разрядный двоичный код. Это дает возможность закодировать 65536 (2 16 = 65536) различных символов. Такая таблица кодировки позволяет разместить алфавиты языков большинства народов мира. Однако при этом коды символов становятся вдвое длиннее, что требует дополнительных ресурсов компьютера.

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

Информация бывает разных видов, таких как запах, вкус, звук; символы и знаки. В различных отраслях науки, техники и культуры применяются особые формы и методики для кодирования и записи информации.

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


Трактовка понятий

Количество и графическое отображение символов в алфавитах естественных языков сложилось исторически и характеризуется особенностями языка (произносимыми звуками). Например русский алфавит имеет 33 символа, латинский – 26, китайский несколько тысяч.

К основным способам кодирования информации в информатике относятся: числовой, символьный (текстовый), графический. В первом случае используются числа, во втором — символы того алфавита, что и первоначальный текст, в третьем — картинки, рисунки, значки.

Двоичная методика

На английском языке используется выражение binary digit либо сокращённо bit (бит). Через 1 бит можно выразить: да либо нет; белое или чёрное; ложь либо истина.

Итак, минимальные единицы измерения информации – это бит и байт. Один бит позволяет закодировать 2 значения (0 или 1). Используя два бита, можно закодировать 4 значения: 00, 01, 10, 11. Тремя битами кодируются 8 разных значений: 000, 001, 010, 011, 100, 101, 110, 111. Из приведенных примеров видно, что добавление одного бита увеличивает в 2 раза то количество значений, которое можно закодировать. 1 байт состоит из 8 бит и способен закодировать 256 значений.

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

Наряду с битами и байтами используют и большие единицы измерения информации.

  • 1 бит ;
  • 1 байт = 8 бит;
  • 1 Кбайт = 2 10 байт = 1024 байт;
  • 1 Мбайт = 2 10 Кбайт = 1024 Кбайт = 2 20 байт;
  • 1 Гбайт = 2 10 Мбайт = 1024 Мбайт = 2 30 байт;
  • 1 Тбайт = 2 10 Гбайт = 1024 Гбайт = 2 40 байт.
  • 1 Пбайт = 2 10 Тбайт = 1024 Тбайт = 2 50 байт.

Подробнее о информации в компьютерных системах можно прочтитать в статье Понятие информации. Информатика

Текстовое значение

Кодирование и обработка текстовой информации Уже с 60-х годов прошлого столетия, компьютеры всё больше стали использовать для обработки текстовой информации. Для кодирования текстовой информации в компьютере применяется двоичное кодирование, т.е. представление текста в виде последовательности 0 и 1. Чтобы выразить текст числом, каждая буква сопоставляется с числовым значением. Смысл кодирования: одному символу принадлежит код в пределах 0−255 либо двоичный код от 00000000 до 11111111.

Текстовая информация состоит из символов: букв, цифр, знаков препинания и др. Одного байта достаточно для хранения 256 различных значений, что позво ляет размещать в нем любой из алфавитно-цифровых символов. Первые 128 сим волов (занимающие семь младших бит) стандартизированы с помощью кодировки ASCII (American Standart Code for Information Interchange). Суть кодирования заключается в том, что каждому символу ставят в соответствие двоичный код от 0000000 до 11111111 или соответствующий ему десятичный код от 0 до 255.

В мировой практике для кодирования текста при помощи байтов используются разные стандарты. Самым распространенным, но не единственным видом кодирования является код ASCII. В соответствии с этим стандартом, знаки в пределах 0−32 соответствуют операциям, а 33−127 — символам из латинского алфавита, знакам препинания и арифметики. Для национальных кодировок применяются значения 128−255. В разных национальных кодировках одному и тому же коду соответствуют различные символы. К примеру, существует 5 кодировочных таблиц для русских букв (Windows, MS-DOS, Mac, ISO, КОИ – 8). Поэтому тексты созданные в одной кодировке не будут правильно отображаться в другой.


Таблица стандартной и альтернативной частей кодов ASCII

В настоящее время для кодирования кириллицы наибольшее распространение получила кодовая таблица СР1251, которая используется в операционных системах семейства Windows фирмы Microsoft. Во всех современных кодовых таблицах, кроме таблицы стандарта Unicode, для кодирования одного символа отводится 8 двоичных разрядов (8 бит).

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

Растровое изображение

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

Графические данные на мониторе представляются в качестве растрового изображения. Если более пристально рассмотреть графическое изображение на экране монитора компьютера, то можно увидеть большое количество разноцветных точек (пикселов – от англ. pixel, образованного от picture element – элемент изображения), которые, будучи собраны вместе, и образуют данное графическое изображение. Каждому пикселю присвоен особый код, в котором хранится информация об оттенке пикселя. Из этого можно сделать вывод: графическое изображение в компьютере определенным образом кодируется и должно быть представлено в виде графического файла.


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


Звуки и их разрядность

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

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

Частота дискретизации- это количество измерений уровня звукового сигнала в единицу времени. Эта характеристика показывает качество и точность процедуры двоичного кодирования. Измеряется в герцах (Гц).

Оцифрованный сигнал в виде набора последовательных значений амплитуды уже можно сохранить в памяти компьютера. В случае, когда записываются абсолютные значения амплитуды, такой формат записи называется PCM ( Pulse Code Modulation). Стандартный аудио компакт-диск (CD-DA), применяющийся с начала 80-х годов 20-го столетия, хранит информацию в формате PCM с частотой дискретизации 44.1 кГц и разрядностью квантования 16 бит.

Подробнее о свойствах звука можно прочитать в статье Звук

Машинные команды

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

Машинная команда представляет собой закодированное по определенным правилам указание микропроцессору на выполнение некоторой операции или действия. Каждая команда содержит элементы, определяющие:

  • указание на то, какие действия должен сделать микропроцессор (ответ па этот вопрос дает часть команды, которая называется кодом операции (КОП));
  • указание на объекты, над которыми надо провести какие-то действия (эти элементы машинной команды называются операндами);
  • указание на способ действия (эти элементы называются типами операндов).

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

В адресной части машинной команды содержится информация об адресах операндов. Это либо значения адресов ячеек памяти, в которых размещаются сами операнды (абсолютная адресация), либо информация, по которой процессор определяет значения их адресов в памяти (относительная адресация). Абсолютная адресация использовалась только в машинах 1 и 2-го поколений. Начиная с машин 3-го поколения, наряду с абсолютной используется относительная адресация.

Подробнее о поколениях компьютеров смотрите в статье История развития компьютеров

Заключение

Урок 13. Представление текстовой информации в компьютере. Кодовые таблицы.

Практическая работа № 4. Представление текстов. Сжатие текстов





В этом параграфе обсудим способы компьютерного кодирования текстовой, графической и звуковой информации. С текстовой и графической информацией конструкторы «научили» работать ЭВМ, начиная с третьего поколения (1970-е годы). А работу со звуком «освоили» лишь машины четвертого поколения, современные персональные компьютеры. С этого момента началось распространение технологии мультимедиа.

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

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

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

Текстовая информация

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

Напомним о байтовом принципе организации памяти компьютеров, обсуждавшемся в курсе информатики основной школы. Вернемся к рис. 1.5. Каждая клеточка на нем обозначает бит памяти. Восемь подряд расположенных битов образуют байт памяти. Байты пронумерованы. Порядковый номер байта определяет его адрес в памяти компьютера. Именно по адресам процессор обращается к данным, читая или записывая их в память (рис. 1.10).

image

Поскольку в мире много языков и много алфавитов, постепенно совершается переход на международную систему кодировки Unicode, в которой используются многобайтовые коды. Например, если код символа занимает 2 байта, то с его помощью можно закодировать 2 16 = 65 536 различных символов.

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

Практикум

Практическая работа № 1.4 "Представление текстов. Сжатие текстов"

Цель работы: практическое закрепление знаний о представлении в компьютере текстовых данных.

Задание 1

Определить, какие символы кодируются таблицей ASCII (DOS) соответствуют всем прописным буквам русского алфавита в кодировочной таблице ANSI (Windows). Для выполнения задания создать текст с русским алфавитом в Блокноте, а затем открыть его в режиме просмотра (клавиша F3) в любом файловом менеджере (Windows Commander, Far, Total Commander, Norton Commander) и преобразовать в другую кодировку. После выполнения задания заполнить таблицу.

image

Задание 2

Закодировать текст Happy Birthday to you!! с помощью кодировочной таблицы ASCII

image

Записать двоичное и шестнадцатеричное представление кода (для записи шестнадцатеричного кода использовать средство для просмотра файлов любого файлового менеджера).

Задание 3

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

image

72 101 108 108 111 44 32 109 121 32 102 114 105 101 110 100 33

Задание 4

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

image

01010000 01100101 01110010 01101101 00100000 01010101

01101110 01101001 01110110 01100101 01110010 01110011

01101001 01110100 01111001

Задание 5

Пользуясь кодовой страницей Windows-1251 таблицы кодировки ASCII, получить шестнадцатеричный код слова ИНФОРМАТИЗАЦИЯ.

image

Задание 6

Задание 7

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

Справочная информация

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

image

Закодируем с помощью данного дерева слово "hello":
0101 100 01111 01111 1110

При размещении этого кода в памяти побитово он примет вид:
010110001111011111110

Таким образом, текст, занимающий в кодировки ASCII 5 байтов, в кодировке Хаффмена займет 3 байта.

Задание 8

Используя метод сжатия Хаффмена, закодируйте следующие слова:
а) administrator
б) revolution
в) economy
г) department

Задание 9

Используя дерево Хаффмена, декодируйте следующие слова:
а) 01110011 11001001 10010110 10010111 100000
б) 00010110 01010110 10011001 01101101 01000100 000

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