Файл: Технологии программирования (Кодирование данных двоичным кодом).pdf
Добавлен: 01.04.2023
Просмотров: 398
Скачиваний: 2
СОДЕРЖАНИЕ
1.1 Связь понятий «информация, данные, знания». Модель DIWK
1.3. Системы обработки информации и данных
2.1 Кодирование данных двоичным кодом
Компьютеры и кодировка символов
2.2 Кодирование целых и действительных чисел
2.3 Кодирование текстовых данных
2.4 Универсальная система кодирования текстовых данных
2.5 Кодирование графических данных
10. Отчетность.
Обычно при обработке бизнес - данных операция обработки заканчивается. Об обработанной информации может быть сообщено несколькими способами в зависимости от использования результатов. Результаты могут быть распечатаны в форме платежных ведомостей, счетов и т. д. Или в форме отчетов в виде отчетов ESI, отчетов PF или отчетов о продажах и т. д. [7].
Иерархия хранения данных.
Известно, что данные, организованы и хранятся в последовательно более комплексные группировки. Как правило, эти группировки называются иерархии хранения данных.
1) Символы, которые все письменный язык символов: буквы, цифры и специальные символы.
2) Элементы данных, которые являются значимыми коллекциями соответствующих символов. Данные элементы также называются элементами или полями данных.
3) Записи, которые представляют собой наборы связанных элементов данных.
4) Файлы, которые представляют собой наборы связанных записей. Набор связанных файлов называется база данных или банк данных [10].
Вывод по первой главе: в ходе информационного процесса данные преобразуются из одного вида в другой с помощью методов. Обработка данных включает в себя множество различных операций. По мере развития научно-технического прогресса и общего усложнения связей в человеческом обществе трудозатраты на обработку данных неуклонно возрастают. Прежде всего, это связано с постоянным усложнением условий управления производством и обществом. Второй фактор, также вызывающий общее увеличение
объемов обрабатываемых данных, тоже связан с научно-техническим прогрессом, а именно с быстрыми темпами появления и внедрения новых носителей данных, средств хранения и доставки данных.
Глава 2. КОДИРОВАНИЕ ДАННЫХ
2.1 Кодирование данных двоичным кодом
Кодирование данных - это процесс получения кодов из наблюдаемых данных. В качественном исследовании данные получают либо из наблюдений, интервью или из анкет. Целью кодирования данных является раскрытие сущности и значения данных, предоставленных респондентами. Кодер данных извлекает предварительные коды из наблюдаемых данных, предварительные коды дополнительно фильтруются и уточняются для получения более точных и кратких кодов. Позже, при оценке данных, исследователь присваивает значения, проценты или другие числовые величины этим кодам, чтобы сделать выводы. Следует иметь в виду, что целью кодирования данных является не просто исключение избыточных данных, а их краткое обобщение. Кодер данных должен убедиться, что ни один из важных моментов данных не был потерян при кодировании данных [13].
Для автоматизации работы с данными, относящимися к различным типам, очень важно унифицировать их форму представления. Для этого обычно используется прием кодирования, то есть выражение данных одного типа через данные другого типа. Естественные человеческие языки - это не что иное, как системы кодирования понятий для выражения мыслей посредством речи [9]. К языкам близко примыкают азбуки (системы кодирования компонентов языка с помощью графических символов). История знает интересные, хотя и безуспешные попытки создания «универсальных» языков и азбук [8].
По-видимому, безуспешность попыток их внедрения связана с тем, что национальные и социальные образования естественным образом понимают, что изменение системы кодирования общественных данных непременно приводит к изменению общественных методов (то есть норм права и морали), а это может быть связано с социальными потрясениями. Та же проблема универсального средства кодирования достаточно успешно реализуется в отдельных отраслях техники, науки и культуры. В качестве примеров можно привести систему записи математических выражений, телеграфную азбуку, морскую флажковую азбуку, систему Брайля для слепых и многое другое. Своя система существует и в вычислительной технике - она называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами, по-английски - binary digit или сокращенно bit (бит). Примеры различных систем кодирования представлены на рисунке 1 [16].
Символы, целые числа, числа с плавающей запятой и т. Д.
При хранении и передаче данных вам необходимо будет представить следующие типы данных:
- Символы и цифры, например, A и 1
- Целые числа со знаком и без знака длинные (32 бита) и короткие (16 бит)
- С плавающей запятой одноместные и двухместные
- Булевы то есть Истина и Ложь
Так как компьютер хранит букву А или цифру 1?
Как на компьютере хранить номер типа 60101? или 62.0101?
Как вы передаете букву A и т. Д. На другой компьютер по сети?
Компьютеры и кодировка символов
Чтобы сохранить текст в виде двоичных данных, необходимо указать кодировку для этого текста [6].
Компьютерные системы могут использовать различные схемы кодирования символов [3].
Пока данные остаются на компьютере, неважно, как они кодируются.
Однако для передачи данных между системами необходимо принять стандартную схему кодирования.
В 1968 году ASCII (американский стандартный код для обмена информацией) был принят в качестве стандарта для кодирования текста для обмена данными.
ASCII
ASCII - это американский стандарт, разработанный для кодирования английских символов и знаков препинания, используемый на пишущих машинках и телетайпах той эпохи (1960-е годы) [19].
ASCII использует 8 бит, хотя фактически используются только 7 бит.
Поскольку ASCII был разработан во время работы устройств Teletype, он также содержит управляющие коды, предназначенные для управления устройством Teletype.
Расширения ASCII
Поскольку ASCII не может кодировать символы, такие как знак решетки £ или общие символы, найденные в немецком и других европейских языках, были разработаны различные расширения.
Эти расширения сохраняли набор символов ASCII и использовали неиспользуемую часть адресного пространства и управляющие коды для дополнительных символов.
Наиболее распространенными являются Windows 1252 и Latin-1 (ISO-8859).
Windows 1252 и 7-битный ASCII были наиболее широко используемыми схемами кодирования до 2008 года, когда UTF-8 стал самым распространенным [20].
ISO-8859-1, ISO-8859-15, Latin-1
ISO-8859 - это 8-битная кодировка символов, которая расширяет 7-битную схему кодирования ASCII и используется для кодирования большинства европейских языков. Смотрите вики для деталей.
ISO-8859-1 также известен как Latin-1, наиболее широко используемый, так как он может использоваться для большинства распространенных европейских языков, например, немецкого, итальянского, испанского, французского и т.д.
Он очень похож на схему кодирования windows-1252, но не идентичен, см. Сравнение символов в Windows-1252, ISO-8859-1, ISO-8859-15 [5].
Unicode
В связи с необходимостью кодирования символов иностранного языка и других графических символов были разработаны набор символов Unicode и схемы кодирования.
Наиболее распространенные схемы кодирования:
- UTF-8,
- UTF-16
- UTF-32
UTF-8 является наиболее часто используемой схемой кодирования, используемой в современных компьютерных системах и компьютерных сетях.
Это схема кодирования с переменной шириной, разработанная для полной обратной совместимости с ASCII. Используется от 1 до 4 байтов [2].
Наборы символов и схемы кодирования
Различие между этими двумя понятиями не всегда ясно, и термины, как правило, взаимозаменяемы.
Набор символов представляет собой список символов, тогда как схема кодирования - это то, как они представлены в двоичном виде.
Это лучше всего видно с Unicode.
Схемы кодирования UTF-8, UTF-16 и UTF-32 используют набор символов Unicode, но кодируют символы по-разному.
ASCII - это набор символов и схема кодирования [2].
Порядок следования байтов (BOM) [4].
Метка порядка байтов (BOM) - это символ Unicode, U + FEFF, который появляется в виде магического числа в начале текстового потока и может сигнализировать о нескольких вещах программе, потребляющей текст: - Wiki
- Порядок байт или порядок байт , текстового потока;
- Тот факт, что кодировка текстового потока является Unicode, с высокой степенью достоверности;
- Какой кодировкой Unicode текстовый поток кодируется как.
Спецификация отличается для кодированного текста UTF-8, UTF-16 и UTF-32 [4].
2.2 Кодирование целых и действительных чисел
Целые числа кодируются двоичным кодом довольно просто - достаточно взять целое число и делить его пополам до тех пор, пока частное не будет равно единице. Совокупность остатков от каждого деления, записанная справа налево вместе с последним частным, и образует двоичный аналог десятичного числа.
19:2 = 9 + 1
9:2=4+1
4:2 = 2 +-0
2:2=1+0
Таким образом, 1910= 100112.
Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). Шестнадцать бит позволяют закодировать целые числа от 0 до 65 535, а 24 бита - уже более 16,5 миллионов разных значений.
Для кодирования действительных чисел используют 80-разрядное кодирование. При этом число предварительно преобразуется в нормализованную форму:
3,1415926 = 0,31415926 * 101 300 000 = 0,3 * 106 [5].
123 456 789 - 0,123456789 * 1010
Первая часть числа называется мантиссой, а вторая -- характеристикой. Большую часть из 80 бит отводят для хранения мантиссы (вместе со знаком) и некоторое фиксированное количество разрядов отводят для хранения характеристики (тоже со знаком) [5].
2.3 Кодирование текстовых данных
Если каждому символу алфавита сопоставить определенное целое число (например, порядковый номер), то с помощью двоичного кода можно кодировать и текстовую информацию. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит, чтобы выразить различными комбинациями восьми битов все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые общепринятые специальные символы, например символ «§»[11].
Технически это выглядит очень просто, однако всегда существовали достаточно веские организационные сложности. В первые годы развития вычислительной техники они были связаны с отсутствием необходимых стандартов, а в настоящее время вызваны, наоборот, изобилием одновременно действующих и противоречивых стандартов. Для того чтобы весь мир одинаково кодировал текстовые данные, нужны единые таблицы кодирования, а это пока невозможно из-за противоречий между символами национальных алфавитов, а также противоречий корпоративного характера [11].
Для английского языка противоречия уже сняты. Институт стандартизации США (ANSI - American National Standard Institute) ввел в действие систему кодирования ASCII (American Standard Code for Information Interchange - стандартный код информационного обмена США) [12].
В системе ASCII закреплены две таблицы кодирования - базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, а расширенная относится к символам с номерами от 128 до 255 [12].
Первые 32 кода базовой таблицы, начиная с нулевого, отданы производителям аппаратных средств (в первую очередь производителям компьютеров и печатающих устройств). В этой области размещаются так называемые управляющие коды, которым не соответствуют никакие символы языков, и, соответственно, эти коды не выводятся ни на экран, ни на устройства печати, но ими можно управлять тем, как производится вывод прочих данных.
Начиная с кода 32 по код 127 размещены коды символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов. Базовая таблица кодировки ASCII приведена в таблице 2. Аналогичные системы кодирования текстовых данных были разработаны и в других странах. Так, например, в СССР в этой области действовала система кодирования КОИ-7 (код обмена информацией, семизначный). Однако поддержка производителей оборудования и программ вывела американский код ASCII на уровень международного стандарта, и национальным системам кодирования пришлось «отступить» во вторую, расширенную часть системы кодирования, определяющую значения кодов со 128 по 255. Отсутствие единого стандарта в этой области привело к множественности одновременно действующих кодировок. Только в России можно указать три действующих стандарта кодировки и еще два устаревших [15].