2 как представлена символьная информация в компьютере

Обновлено: 02.07.2024

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

Языки C, C++ разделяют текстовые данные на примитивы, значением которых являются одиночные символы ( символьные данные ) и последовательности примитивов в виде цепочек символов , завершающихся установленным признаком конца ( строковые данные ). Символьные данные могут быть представлены как скалярными величинами (символьные константы , символьные переменные), так и массивами таких данных. Строковые данные наряду с константами и скалярными переменными тоже могут быть организованы в массивы, напоминающие привычные текстовые документы.

В ранних версиях систем программирования для кодировки символьных данных использовались так называемые кодовые страницы ( code page ). С одной из таких кодовых страниц в свое время выступила фирма IBM , предложившая в качестве стандарта 7-битовую кодировку управляющих и отображаемых символов на компьютерах серии IBM /360. Однако с развитием средств обработки символьной информации 128 различных кодов оказалось недостаточно, и для подключения кодов с символами национальных алфавитов производители средств вычислительной техники соответствующих стран начали подключать к стандарту IBM дополнительные наборы символов. Для кодировки новых расширений потребовался еще один двоичный разряд, и так возникли сменные наборы, дополнявшие устоявшуюся таблицу IBM . Каждая страна или группа стран построила свой уникальный набор из 256 символов, получивший название кодовой страницы. Чтобы отличать эти страницы друг от друга, им присвоили номера. Пользователям нашей страны досталась кодовая страница с номером 866. Довольно много хлопот разнообразие этих страниц вызывало у производителей программных продуктов, учитывающих специфику национальных алфавитов. Трудно приходилось и производителям устройств вывода (принтеры, плоттеры), т.к. в их конструкциях предусматривались аппаратно зашитые таблицы шрифтов.

Системы программирования BC 3.1 и BCB ориентированы на однобайтовую кодировку символьных данных на базе кодовых страниц ASCII . Сложность заключается в том, что под управлением MS-DOS в нашей стране используется кодовая страница с номером 866, а в операционных системах Windows 98/NT/2000/XP отечественная кодовая страница имеет номер 1251. У обеих кодовых страниц первые половины идентичны стандарту IBM . Здесь находятся коды управляющих символов ( группа кодов от 0x00 до 0x1F ), различные разделители (точки, запятые, скобки и т.п.) и знаки операций, большие и малые буквы латинского алфавита. А вот вторые половины этих кодовых страниц устроены по -разному и из-за этого тексты на русском языке, подготовленные в среде Windows , отображаются консольными приложениями BCB в виде некоторой абракадабры. Это явление не наблюдалось в среде BC 3.1, т.к. там и набор программы и ее выполнение происходят в рамках одной и той же кодовой страницы.

4.1. Символьные данные и их представление в памяти ЭВМ

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

Чтобы познакомиться с 866-й кодовой страницей предлагается выполнить следующую программу:

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

Введение

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

  1. Вы хотите перейти дорогу, но дойдя до перекрестка, вы останавливаетесь, потому что загорелся красный свет. После небольшого ожидания цвет светофора меняется на зеленый. Машины тормозят, а вы продолжайте свой путь.
  2. Вы сильно торопитесь, когда едете на работу или учебу. Участник дорожного движения, который едет спереди двигается на низкой скорости. Вы моргаете ему фарами, он уступает вам дорогу, и вы едете дальше.

А теперь переведем эти ситуации на язык информатики – в данных ситуациях светофор и фары передают код. Красный сигнал говорит нам о том, что нужно остановиться, а моргание фарами это “код” с помощью которого мы просим уступить дорогу. Быть может вы удивитесь, но в основу любого человеческого языка тоже положен код, только символы в нем называются алфавитом. Теперь рассмотрим это определение более подробно. Итак:

Код – набор обозначений, с помощью которого можно представить информацию.

Кодирование – процесс, при котором данные переводятся в код.

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

  • Тире (длинный сигнал);
  • Точка (короткий сигнал);
  • Пауза или отсутствие сигнала.

Однако наибольшую популярность завоевал “двоичный код”, который предложил использовать Вильгельм Лейбниц в семнадцатом веке. Информация в нем определяется двумя символами – 0 и 1. Разработчикам данный метод кодирования сильно понравился из-за простоты его реализации. 0- это пропуск сигнала, а число 1- его наличие. Именно двоичное представление используется сегодня в ПК и в другой цифровой технике.

Это интересно Что такое множество 👨‍🎓. Свойства и операции над множествами

Представление и устройство памяти персонального компьютера

Скорее всего, вы знаете, что внутренняя память компьютера состоит из двух частей – оперативной и основной:

Чтобы иметь представление, как работает внутренняя память компьютера, и как её использовать, нужно заглянуть внутрь системного блока. Здесь можно провести аналогию с тетрадным листом “в клеточку”. Каждая клетка содержит в себе одно из двух состояний – 0 или 1. Если в ячейке стоит 1, то это говорит о том, что данная ячейка внутренней памяти включена, если 0, то выключена. Этот способ представления информации называется цифровым кодированием.

Представление памяти пк

Каждая ячейка внутренней памяти ПК хранит в себе единицу информации, которая называется битом. Составляя различные последовательности из битов, мы можем определить различную информацию. У цифрового кодирования много преимуществ – легко копировать и переносить материалы с одного носителя на другой. При создании дубликата копия полностью идентична оригиналу, что невозможно осуществить с данными, которые представлены в аналоговой форме. Из-за большого количества преимуществ в 80-х годах 20 века люди начали использовать способы представления текста, звука и фото с помощью цифр.

Представление графических типов информации в ПК

Сейчас существует два способа представления графических данных в машинном коде.

Растровый

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

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

Векторный

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

векторное изображение

Текст и числа

Представление текстовой информации во внутренней памяти персонального компьютера осуществляется с помощью специальных таблиц. На данный момент, распространение получили стандарты ASCII и UTF-8

ASCII

Таблица была разработана и стандартизирована в 1963 в США. Она предназначалась для обмена данными по телетайпу. Однако сейчас, с её помощью, можно определить различные буквы, знаки и числа. Один знак в этой таблице кодируется восемью битами.

Стандарт был предложен в 1992 году. Её разработали Кен Томпсон и Роб Пайк. С помощью этой кодировки можно представить все знаки в мире. Обладает большой популярностью в интернете – большинство сервисов и сайтов используют именно это таблицу.

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

представление звука в пк

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

Частота дискретизации – количестве измерений уровней громкости за одну секунду. Чем больше это значение, тем лучше качество.

Видео

Заключение

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

Символьная (алфавитно-цифровая) информация хранится и обрабатывается в ЭВМ в форме цифрового кода. Кодом называется уникальное беззнаковое целое двоичное число, поставленное в соответствие некоторому символу.

Необходимый набор символов, предусмотренный в конкретной ЭВМ, включает в себя:

- буквы латинского алфавита

- специальные символы и знаки

- буквы национального алфавита

- символы псевдографики — растры, прямоугольники, одинарные и двойные рамки, стрелки.

Среди наборов символов наибольшее распространение получили знаки кода ASCII (American Standard Code of Information Interchange — американский стандартный код информационного обмена информацией).

В таблице ASCII содержится 256 символов и их кодов. Таблица состоит из двух частей: основной и расширенной. Основная часть (символы с кодами от 0 до 127 включительно) является базовой, она в соответствии с принятым стандартом не может быть изменена. В нее вошли:

- управляющие коды (им соответствуют коды с 1 по 31), которым не соответствуют никакие символы языков, и соответственно эти коды не выводятся ни на экран, ни на устройства печати, но они могут управлять тем, как производится вывод данных.

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

Расширенная часть (символы с кодами от 128 до 255) отдана национальным алфавитам, символам псевдографики и некоторым специальным символам.

В расширенной таблице стандартной кодировки фирмы IBM:

- коды 176-223 занимают символы псевдографики;

- коды 240-255 для размещения специальных знаков.

ОС Windows поддерживает большое число расширенных таблиц для различных национальных алфавитов.

В России используются следующие кодировки символов русского языка:

- ГОСТ-альтернативная кодировка (главное достоинство – расположение символов псевдографики на тех же местах, что и в кодировке IBM);

- кодировка Windows 1251 (используется на большинстве ПК, работающих на платформе Windows);

- КОИ-8 (используется в компьютерных сетях на территории России).

В 1991 году была создана универсальная система кодирования текстовых данных – UNICODE. В данной системе символы кодируются 16-разрядными числами. 16 разрядов позволяет обеспечить уникальные коды для 65536 различных символов – этого достаточно для размещения в одной таблице всех широкоупотребляемых языков.

В отличие от обычной словесной формы, принятой в письменном виде, символьная информация хранится и обрабатывается в памяти ЭВМ в форме цифрового кода. Например, можно обозначить каждую букву числами, соответствующими ее порядковому номеру в алфавите: А - 01, Б - 02, В - 03, Г - 04, . , Э - 30, Ю - 31, Я - 32. Точно так же можно договориться обозначать точку числом 33, запя­тую - 34 и т.д. Так как в устройствах автоматической обработки ин­формации используются двоичные коды, то обозначения букв надо перевести в двоичную систему. Тогда буквы будут обозначаться следующим образом: А - 000001, Б - 000010, В - 000011, Г - 000100, . , Э - 011110, Ю - 011111, Я - 100000. При таком кодировании любое слово можно представить в виде последовательности кодовых групп, составленных из 0 и 1. Например, слово ЭВМ выглядит так: 011110000011001110.

При преобразовании символов (знаков) в цифровой код между множествами символов и кодов должно иметь место взаимно­однозначное соответствие, т.е. разным символам должны быть наз­начены разные цифровые коды, и наоборот. Это условие является единственным необходимым требованием при построении схемы преобразования символов в числа. Однако существует ряд прак­тических соглашений, принимаемых при построении схемы преоб­разования исходя из соображений наглядности, эффективности, стандартизации. Например, какое бы число ни назначили коду для знака О (не следует путать с числом 0), знаку 1 удобно назначить число, на единицу большее, чем код О, и т.д. до знака 9. Аналогичная ситуация возникает и при кодировке букв алфавита: код для Б на единицу больше кода для А, а код для В на единицу больше кода для Б и т. д. Таким образом, из соображений наглядности и легкости запоминания целесообразно множества символов, упорядоченных по какому-либо признаку (например, лексико-графическому), коди­ровать также с помощью упорядоченной последовательности чисел.

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

При назначении кодов знакам надо также учитывать соглашения, касающиеся стандартизации кодировки. Можно назначить знаковые коды по своему выбору, но тогда возникнут трудности, связанные с необходимостью обмена информацией с другими организациями, использующими кодировку, отличную от нашей. В настоящее время существует несколько широко распространенных схем кодирования. Например, код BCD (Binary-Coded Decimal) — двоично-десятичный код используется для представления чисел, при котором каждая десятичная цифра записывается своим четырехбитовым двоичным эквивалентом. Этот код может оказаться полезным, когда нужно преобразовать строку числовых знаков, например, строку из числовых знаков «2537» в число 2537, над которым затем будут-производиться арифметические действия. Расширением этого кода является EBCDIC (Extended Binary-Coded Decimal Interchange Code) -расширенный двоично-десятичный код обмена информацией, который преобразует как числовые, так и буквенные строки.

В ЭВМ типа PDP (или СМ) применяется код ASCII (AmericanJ Standard Code for Information Interchange) - американский стандартный код обмена информацией. Этот код генерируется некоторыми внешними устройствами (принтером, АЦПУ) и используется для обмена данными между ними и оперативной памятью ЭВМ. Например когда нажимаем на терминале клавишу G, то в результате этого действия код ASCII для символа G (1000111) передается в ЭВМ. A если надо этот символ распечатать на АЦПУ, то его код ASCII должен быть послан на печатающее устройство.

Отечественной версией кода ASCII является код КОИ-7 семибитовый код обмена информацией, который совпадает с ним, за исключением букв русского алфавита.

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